gpt4 book ai didi

Android:AlertDialog 中的按钮

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:32:54 25 4
gpt4 key购买 nike

你好
在我的 android 应用程序中,我想从 AlertDialog 中的 EditText 小部件获取用户的输入。如果用户没有输入合法文本并点击确认按钮,AlertDialog 不应该关闭,应该做出一些响应,我该怎么办?
这是我当前的代码:

        li = LayoutInflater.from(this);
View editNickView = li.inflate(R.layout.dialog_edit_nick,
null);

AlertDialog.Builder editNickBuilder = new AlertDialog.Builder(
this);
editNickBuilder.setTitle(R.string.edit_nick);
editNickBuilder.setView(editNickView);
AlertDialog editNick = editNickBuilder.create();

editNick.setButton(getText(R.string.com_confirm),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
AlertDialog editNick = (AlertDialog)dialog;
EditText et = (EditText)editNick.findViewById(R.id.et_nick_new);
mCurUser.setName(et.getText().toString()) ;
editNick(mCurUser);
}
});

editNick.setButton2(getText(R.string.com_cancel),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});

return editNick;

谢谢!

最佳答案

单击其中一个按钮时,AlertDialog 总是关闭。如果您不希望发生这种情况,请不要调用 setButton,只需将您的按钮放在自定义布局 xml 中即可。检查前提条件并在需要时调用 editNick.dismiss() 关闭对话框。

一些 fragment 可能会有所帮助:

View editNickView = li.inflate(R.layout.dialog_edit_nick, null);
....
final AlertDialog editNick = editNickBuilder.create();
Button button = (Button) editNickView.findViewById(R.id.your_button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
....
if(shouldClose) {
editNick.dismiss();
}
else {
//Make a toast or something here.
}
}
});

关于Android:AlertDialog 中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5895609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com