无法使用Kotlin访问EditText或其他UI组件
我正在使用Android Studio 3.0 RC2&Kotlin。
当我尝试访问一个UI组件时,应用程序崩溃,除非我先写findViewById。 我以为Kotlin应该摆脱不得不写的findViewById
线? 用户界面是一个fragment
,我试图从相同的fragment
代码访问。 有没有办法不必写findViewById?
这些线路工作:
var userNameField = view?.findViewById<EditText>(R.id.userNameTextField) as EditText userNameField.setText("hello world")
没有findViewById行这行不工作
userNameTextField.setText("hello world")
我什至有
import kotlinx.android.synthetic.main.fragment_sign_in.*
onCreateView()
代码:
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { // Inflate the layout for this fragment var view = inflater!!.inflate(R.layout.fragment_sign_in, container, false) var userNameField = view?.findViewById<EditText>(R.id.userNameTextField) as EditText userNameField.setText("hello world") return view }
在onCreateView只是返回充气的看法。
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { // Inflate the layout for this fragment return inflater!!.inflate(R.layout.fragment_sign_in, container, false) }
在onViewCreated中,您可以访问您的视图组件
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) { userNameField.setText("hello world") }
- 检测到非捆绑插件覆盖的未知特征(Facet )
- Rxjava与kotlin
- 使用Kotlin和Firebase通过onAuthStateChanged回调触发sendEmailVerification
- 应用程序图标不显示在Android版本大于4.4.2的设备上
- Android Studio更新到0.6后,Kotlin问题
- Android Studio 3.0和gradle升级 – 创建apk时缺少base.apk代码
- 打开失败:在kotlin中ENOENT(没有这样的文件或目录)
- 如何使用kotlin中的androidannotations库?
- 房间持久性:错误:实体和Pojos必须有一个可用的公共构造函数