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 表达式,这里的
dialogInterface
和
i
两个参数均没有使用,在 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()
当然,如果要使用,就不要这么简写了。
关于作者
版权声明:本文为maoruibin9035原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。