【发布时间】:2016-12-27 16:26:06
【问题描述】:
我有一个浮动操作按钮侦听器,里面有AlertDiaolog。我想使用来自 XML 的按钮。如果我想为他们写一个onClickListener()。
所以在 Java 中我必须像这样初始化它:
butAdd = (Button)dialog.findViewById(R.id.btn_add)
butAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Some code
}
但是当我尝试使用时:
var butAdd = dialog?.findViewById(R.id.btn_add) as Button;
在 Kotlin 中是不正确的
那么有什么建议可以解决吗?听众怎么了?
这是我的浮动操作按钮代码:
fab?.setOnClickListener {
diaolg = AlertDialog.Builder(this@Cards)
val linearlayout = getLayoutInflater().inflate(R.layout.add_password, null)
diaolg?.setView(linearlayout)
?.setTitle("Add a new password")
?.setCancelable(true)
var login = findViewById(R.id.login) as EditText
var password = findViewById(R.id.password) as EditText
var title = findViewById(R.id.title) as EditText
var butAdd = diaolg?.findViewById(R.id.btn_add) as Button
var butCancel = diaolg?.findViewById(R.id.btn_cancel) as Button
butAdd.setOnClickListener(View.OnClickListener {
fun onClick(v:View){
}
})
butCancel.setOnClickListener(View.OnClickListener {
fun onClick(v:View){
}
})
diaolg?.create()
diaolg?.show()
}
【问题讨论】:
-
'这不正确' - 不是一个准确的描述。
-
它显示“未解析的引用:findByView”并将其变为红色