我的AlertDialog
内有EditText
:
final EditText et = new EditText(getActivity());
AlertDialog.Builder myDialog = new AlertDialog.Builder(getActivity());
myDialog.setTitle("My Title").setView(et);
myDialog.setPositiveButton("Ok",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(et.getText().toString() != ""){
//Do funny things
}
}
});
myDialog.setNegativeButton("Ok",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
如果EditText
为空,我的目标是什么都不做,没有任何意义。但是有两个问题:
点击setPositiveButton
后,即使onClick
方法为空,对话框也会关闭。
如果EditText
为空,我不知道在if条件下我应该匹配哪个ASCII字符。我的意思是:
vNombre.getText().toString() == null;
vNombre.getText().toString() == " ";
vNombre.getText().toString() == "";
这3个陈述返回false,所以我不知道应该比较et.getText().toString()
问题1的解决方案是否没有在对话框视图中添加自定义按钮?
问题2的任何想法?
答案 0 :(得分:2)
请使用equals("")
代替==
if(!et.getText().toString().equals("")
{
//Do funny things
}
您可以阅读Java String Compare Example
答案 1 :(得分:0)
您应该尝试使用以下代码检查String
是否为空,而不是上述代码。
if (!TextUtils.isEmpty(et.getText().toString())) {
}
要在单击肯定按钮时不关闭对话框,您需要进行自定义Dialog
已有很多SO问题/答案。请参阅here。
答案 2 :(得分:0)
试试这个
String gettext = et.getText().toString();
if(!gettext.contentEquals("")){
//do funny things
}
答案 3 :(得分:0)
始终检查字符串的长度以便检查为空。
int length = ed.getText().toString().trim().length();
if(length > 0)
{
//do your work here
}