kotlin-android-扩展不工作。会有什么问题?
kotlin-android-extensions not working. what will be the problem?
我正在遵循一些 kotlin 指南(今天下载 android studio)并且我使用了 setText 但它不起作用。
会有什么问题?
package com.example.basic
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
Toast.makeText(applicationContext, "button was pressed.", Toast.LENGTH_LONG).show()
}
button2.setOnClickListener {
val input = editTextTextPersonName.text.toString()
TextView.setText("entered value: ${input}")
}
}
}
(我试过将setText替换为text,但还是红色,无法保存)
未解决的引用:setText(错误)
TextView
是 class 的名称。您需要在 class 的实例上应用 setText。就像你一样
editTextTextPersonName.text.toString()
而不是
EditText.text.toString()
我不知道你的 TextView 被调用了,但你需要做
instanceOfYourTextView.setText("entered value: ${input}")
正如 Mayur Gajra 提到的,您没有使用 XML 的视图,而是使用 TextView class,这是您的问题,您需要的是类似这个:
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
/>
然后您的 MainActivity 应该如下所示:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
Toast.makeText(applicationContext, "button was pressed.", Toast.LENGTH_LONG).show()
}
button2.setOnClickListener {
val input = editTextTextPersonName.text.toString()
text.setText("entered value: ${input}")
}
}
}
我正在遵循一些 kotlin 指南(今天下载 android studio)并且我使用了 setText 但它不起作用。 会有什么问题?
package com.example.basic
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
Toast.makeText(applicationContext, "button was pressed.", Toast.LENGTH_LONG).show()
}
button2.setOnClickListener {
val input = editTextTextPersonName.text.toString()
TextView.setText("entered value: ${input}")
}
}
}
(我试过将setText替换为text,但还是红色,无法保存)
未解决的引用:setText(错误)
TextView
是 class 的名称。您需要在 class 的实例上应用 setText。就像你一样
editTextTextPersonName.text.toString()
而不是
EditText.text.toString()
我不知道你的 TextView 被调用了,但你需要做
instanceOfYourTextView.setText("entered value: ${input}")
正如 Mayur Gajra 提到的,您没有使用 XML 的视图,而是使用 TextView class,这是您的问题,您需要的是类似这个:
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
/>
然后您的 MainActivity 应该如下所示:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
Toast.makeText(applicationContext, "button was pressed.", Toast.LENGTH_LONG).show()
}
button2.setOnClickListener {
val input = editTextTextPersonName.text.toString()
text.setText("entered value: ${input}")
}
}
}