我有一個功能:
fun showDialogWindow(){
val builder = AlertDialog.Builder(this)
val inflater = layoutInflater
val dialogLayout = inflater.inflate(R.layout.dialog_window, null)
val editText = dialogLayout.findViewById<EditText>(R.id.change_balance_edittext)
with(builder) {
setPositiveButton("Ok"){dialog, which ->
Values.balance = editText.text.toString().toFloat()
}
setNegativeButton("Cancel"){dialog, which ->
}
setView(dialogLayout)
show()
}
}
我想在單獨的類中創建它,當我嘗試這樣做時,我有一些錯誤:在第 2 行“this”未在此背景關系中定義,在第 3 行未決議參考:layoutInflater和第 13 行多載決議歧義。在 MainActivity 中,樂趣正在發揮作用。我該如何解決?
uj5u.com熱心網友回復:
首先,我會嘗試查看該語言的作業原理以及您可以在哪里呼叫變數。
例如,“this”錯誤是因為當您在 MainActivity 中呼叫“this”時,它獲取活動型別,可能是“AppCompatActivity”。呼叫新檔案時,需要將值“this”作為函式中的引數傳遞。
fun showDialogWindow(mainActivity : Context){
val builder = AlertDialog.Builder(mainActivity )
val inflater = layoutInflater
val dialogLayout = inflater.inflate(R.layout.dialog_window, null)
val editText = dialogLayout.findViewById<EditText>(R.id.change_balance_edittext)
with(builder) {
setPositiveButton("Ok"){dialog, which ->
Values.balance = editText.text.toString().toFloat()
}
setNegativeButton("Cancel"){dialog, which ->
}
setView(dialogLayout)
show()
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/385531.html
