我正在使用 Android Studio 3.0 RC2 和 Kotlin。
当我尝试访问 UI 组件时,除非我先写 findViewById,否则应用程序会崩溃。我以为 Kotlin 应该摆脱写findViewById
线的麻烦?UI 是一个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
}