Android 我能';t访问Kotlin中的文本视图
我只是android开发和Kotlin的初学者。我写了一些简单的代码,但效果不太好。你能帮我吗Android 我能';t访问Kotlin中的文本视图,android,android-studio,kotlin,Android,Android Studio,Kotlin,我只是android开发和Kotlin的初学者。我写了一些简单的代码,但效果不太好。你能帮我吗 fun degistir(view: View) { textView.text = "Hello world" } 我写了这个,但我无法访问textView。注意:我的textView的id也是textView。首先,您需要在XML文件中为textView设置一个id 然后在Activity或Fragment中的onCreate函数中,您将在XML中获得TextView
fun degistir(view: View) {
textView.text = "Hello world"
}
我写了这个,但我无法访问textView。注意:我的textView的id也是textView。首先,您需要在
XML
文件中为textView
设置一个id
然后在Activity
或Fragment
中的onCreate
函数中,您将在XML
中获得TextView
,并将其分配给类似这样的对象
,然后设置文本
val textView: TextView = findViewById(R.id.myTextView)
textView.text = "Hello World"
对于Kotlin扩展解决方案,请执行以下操作
1-转到你的应用程序gradle文件并添加此插件
apply plugin: 'kotlin-android-extensions'
2-现在一旦你写了这个
textView.text = "Hello World"
它将以红色下划线显示textView,并表示它可以导入,一旦导入,它就会工作。
这将绕过findViewById,您将不再需要它。使用ViewBinding
模块级build.gradle
文件
android {
...
buildFeatures {
viewBinding true
}
}
用法例如,给定一个名为result_profile.xml的布局文件:
<LinearLayout ... >
<TextView android:id="@+id/name" />
<ImageView android:cropToPadding="true" />
<Button android:id="@+id/button"
android:background="@drawable/rounded_button" />
</LinearLayout>
findViewById已弃用!Android studio表示:类型推断失败:没有足够的信息来推断fun findViewById(id:Int):T中的参数T!请明确指定。请检查编辑的answer@kzncrda他们确实引入了视图绑定,它类似于数据绑定,但我不推荐它作为乞丐。@MahmoudOmara先生,它确实有效。非常感谢你。但我想问另一件事。我正在学习一个教程,在那里,讲师刚刚写了“textView.text=”blabla“。难道不可能写吗?我认为告诉刚开始Android开发的人使用数据绑定不是一个好方法,不过这也会起作用,但对乞丐来说太高级了
private lateinit var binding: ResultProfileBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ResultProfileBinding.inflate(layoutInflater)
val view = binding.root
setContentView(view)
}
binding.textViewId.text = "blablabla"