Android 视图对象未显示在代码中。I';我正在制作一个自定义对话框
} //这是用于自定义对话框的XML文件Android 视图对象未显示在代码中。I';我正在制作一个自定义对话框,android,xml,kotlin,customdialog,Android,Xml,Kotlin,Customdialog,} //这是用于自定义对话框的XML文件 open class BaseActivity : AppCompatActivity() { private var doubleBackToExitPressedOnce = false private lateinit var mProgressDialog: Dialog override fun onCreate(savedInstanceState: Bundle?) { val binding = ActivityBaseBin
open class BaseActivity : AppCompatActivity() {
private var doubleBackToExitPressedOnce = false
private lateinit var mProgressDialog: Dialog
override fun onCreate(savedInstanceState: Bundle?) {
val binding = ActivityBaseBinding.inflate(layoutInflater)
super.onCreate(savedInstanceState)
}
fun showProgressDialog(text: String) {
mProgressDialog = Dialog(this)
mProgressDialog.setContentView(R.layout.dialog_progress)
mProgressDialog.tv_progress_text.text = text
mProgressDialog.show()
}
这是我的代码(kotlin),我使用视图绑定。我无法从showProgressDialog函数中的自定义对话框xml文件访问视图对象。但是,我尝试在fun showProgressDialog中为自定义对话框创建绑定实例,但这也不起作用。有谁能告诉我,问题是什么,我应该如何访问自定义对话框xml文件中的视图对象。setContentView也没有任何用处。要在自定义对话框中使用视图绑定,您必须使用其生成的方法对自定义对话框进行膨胀,不能直接使用它 由于您尚未编写自定义对话框布局文件的名称,我假定它是
customDialog.xml
。现在,您可以使用此按钮充气并显示此自定义对话框
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
android:padding="10dp">
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/tv_progress_text"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_progress_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:text="@string/pleaseWait"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/progressBar"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
非常感谢,它成功了
fun showProgressDialog(text: String) {
mProgressDialog = Dialog(this)
val customDialogBinding = CustomDialogBinding.inflate(layoutInflater, binding.root, false)
mProgressDialog.setContentView(customDialogBinding.root)
customDialogBinding.tv_progress_text.text = text
mProgressDialog.show()
}