KOTLIN 自建一個ALTER DIALOG的類,用XML的BUTTON來設置按鈕功能,並在MAIN裡調用
时间: 2023-07-14 13:13:09 浏览: 81
首先,我们需要在 Kotlin 中创建一个自定义的 AlertDialog 类。以下是一个基本的示例:
```kotlin
class CustomAlertDialog(private val context: Context) {
private lateinit var alertDialog: AlertDialog
fun create(title: String, message: String) {
val builder = AlertDialog.Builder(context)
builder.setTitle(title)
builder.setMessage(message)
builder.setPositiveButton("确定") { _, _ ->
// 点击确定按钮后的逻辑处理
}
builder.setNegativeButton("取消") { _, _ ->
// 点击取消按钮后的逻辑处理
}
alertDialog = builder.create()
}
fun show() {
alertDialog.show()
}
}
```
在这个自定义的 AlertDialog 类中,我们定义了一个 `create` 方法来设置对话框的标题、内容和按钮的点击事件,并使用 `AlertDialog.Builder` 创建了一个 `AlertDialog` 对象。同时,我们还定义了一个 `show` 方法来显示对话框。
接下来,我们可以在 MainActivity 中调用这个自定义的 AlertDialog 类,并使用 XML 的 Button 来设置按钮的功能。以下是一个示例:
```kotlin
class MainActivity : AppCompatActivity() {
private lateinit var customAlertDialog: CustomAlertDialog
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
customAlertDialog = CustomAlertDialog(this)
val button = findViewById<Button>(R.id.button)
button.setOnClickListener {
customAlertDialog.create("标题", "内容")
customAlertDialog.show()
}
}
}
```
在这个 MainActivity 中,我们首先创建了一个 CustomAlertDialog 对象,然后使用 findViewById 获取了 XML 布局中的 Button 对象,并给它设置了一个点击事件。在点击事件中,我们调用了 CustomAlertDialog 类的 `create` 和 `show` 方法,来显示自定义的对话框。
需要注意的是,在 XML 布局中,我们需要为 Button 设置一个 id,如下所示:
```xml
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="弹出对话框" />
```
这样就可以实现自建一个 AlertDialog 的类,用 XML 的 Button 来设置按钮功能,并在 MainActivity 中调用了。
阅读全文