Kotlin 中使用 AlertDialog

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()

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

关于作者

  • 微博 - 大侠咕咚
  • 知乎 - 咕咚
  • Github - 咕咚

你可能感兴趣的:(kotlin)