我正在做一个计数器。在加载或创建时,我想显示一个输入对话框,供用户输入整数值。第一。。。如果用户未在框中输入任何字符值。然后用户无法单击"确定"按钮。第二。。如果用户未在其中输入任何值。然后他将无法点击确定或坎克尔按钮。
请帮忙....!! 提前致谢
这是提示框代码
AlertDialog.Builder ab = new AlertDialog.Builder(TasbihWorkActivity.this);
ab.setTitle("Enter Any String");
final EditText editText = new EditText(TasbihWorkActivity.this);
ab.setView(editText);
ab.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
count_num.setText(editText.getText().toString());
}
});
ab.setNegativeButton("Cencel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
count_num.setText("No text entered!!!");
}
});
AlertDialog a = ab.create();
a.show();
您应该为editText
使用文本观察器。 如果没有输入,请使用setClickable(false);
禁用这两个按钮。如果未输入任何字符值,请禁用OK
按钮
AlertDialog.Builder ab = new AlertDialog.Builder(TasbihWorkActivity.this);
ab.setTitle("Enter Any String");
final EditText editText = new EditText(TasbihWorkActivity.this);
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// implement your logic here
}
});
ab.setView(editText);
ab.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
count_num.setText(editText.getText().toString());
}
});
ab.setNegativeButton("Cencel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
count_num.setText("No text entered!!!");
}
});
AlertDialog a = ab.create();
a.show();
编辑
要防止屏幕单击时对话框消失,请添加以下代码
ab.setCancelable(false)