我的AlertDialog
包含多个EditText
次观看。当用户点击清除按钮时,应从文本中清除具有焦点的当前视图。
我正在使用方法getCurrentFocus()
,它返回一个视图并将其转换为EditText
。但是,该方法始终返回 null 。
这是我正在使用的代码:
DialogBuilder.setNeutralButton("Clear", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
((EditText) this.getCurrentFocus()).setText("");
}
})
答案 0 :(得分:1)
您需要将当前焦点放在对话框而不是活动上。
要获得View
上当前关注的Dialog
,您可以将DialogInterface
转换为Dialog
:
@Override
public void onClick(DialogInterface dialogInterface, int i) {
((EditText) ((Dialog) dialogInterface).getCurrentFocus()).setText("");
}