欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Kotlin 中使用 AlertDialog

程序员文章站 2022-06-04 14:49:49
...

Kotlin 中使用 AlertDialog

使用 Java 生成一个 AlertDialog

new AlertDialog.Builder(this)
        .setTitle("提示")
        .setMessage("你好,世界")
        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

            }
        })
        .show();

Kotlin 中如下所示

val msg = "你好世界"
AlertDialog.Builder(holder.itemView.context)
        .setMessage(msg)
        .setTitle(item.name)
        .setPositiveButton("复制", DialogInterface.OnClickListener { dialogInterface, i ->
            copyText(holder.itemView.context, item.value)
            Toast.makeText(holder.itemView.context, "复制成功", Toast.LENGTH_SHORT).show()
        })
        .setNeutralButton("取消", null)
        .create()
        .show()

另外,在给PositiveButton设置点击回调时,使用了 lambda 表达式,这里的 dialogInterfacei两个参数均没有使用,在 AndroidStudio 3.0 中会提示可以用 _ 代替,修改后如下所示:

val msg = "你好世界"
AlertDialog.Builder(holder.itemView.context)
        .setMessage(msg)
        .setTitle(item.name)
        .setPositiveButton("复制", DialogInterface.OnClickListener { _, _ ->
            copyText(holder.itemView.context, item.value)
            Toast.makeText(holder.itemView.context, "复制成功", Toast.LENGTH_SHORT).show()
        })
        .setNeutralButton("取消", null)
        .create()
        .show()

当然,如果要使用,就不要这么简写了。

关于作者