繁体   English   中英

如何获取在AlertDialog内部具有焦点的当前视图?

[英]How can I get current view that has focus inside an AlertDialog?

我有一个AlertDialog ,其中包含几个EditText视图。 用户单击清除按钮时,应从文本中清除具有焦点的当前视图。

我正在使用方法getCurrentFocus() ,该方法返回一个视图并将其强制转换为EditText 但是,该方法始终返回null

这是我正在使用的代码:

DialogBuilder.setNeutralButton("Clear", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    ((EditText) this.getCurrentFocus()).setText("");
                }
            })

您需要将当前焦点放在对话框而不是活动上。

要在Dialog上获取当前聚焦的View ,可以将DialogInterface转换为Dialog

@Override
public void onClick(DialogInterface dialogInterface, int i) {
    ((EditText) ((Dialog) dialogInterface).getCurrentFocus()).setText(""); 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM