Android 我能';t访问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

我只是android开发和Kotlin的初学者。我写了一些简单的代码,但效果不太好。你能帮我吗

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"