通过对话框提示用户输入信息(如账号和密码)是比较常用的人机交互界面,一开始以为在Dialog中添加对话框可能比较麻烦,直接集成Activity,然后将其声明为Dialog形式展现。后来看了一下代码,发现Dialog类本身就有个setView()方法可以用,虽然传入参数是View类型,但是可以扩展成EditText,这样就很简单了。关键代码如下:
private void buildEditDialog(){
final EditText text = new EditText(mContext);
new AlertDialog.Builder(mContext).setTitle(R.string.new_tab)
.setView(text)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String string = text.getText().toString();
int size = string.length();
if(size == 0 || size > TAB_LENGTH_MAX){
buildEditDialog();
Toast.makeText(mContext, getResources().getString(R.string.check_length), 500).show();
}else{
addItem(string);
}
}
})
.setNegativeButton(R.string.cancel, null)
.show();
}
本文详细介绍了如何通过Dialog类在Android应用中创建一个简单的编辑框,用于用户输入账号和密码等敏感信息。通过利用Dialog的setView()方法,将EditText作为视图组件集成到Dialog中,简化了界面设计与交互流程。同时,文章还提供了关键代码片段和异常处理逻辑,确保了输入验证与用户体验的优化。
4059

被折叠的 条评论
为什么被折叠?



