Android Toast消息要求用户填写空白;编辑文本“;领域 当点击一个按钮告诉用户填写空白字段时,我试图得到一个消息。当前,如果该字段为空,则会崩溃/强制关闭应用程序。我尝试执行以下代码,但没有成功。最初我没有if/else,我只是运行计算器();方法和以下imm代码
有人能给我指出正确的方向吗Android Toast消息要求用户填写空白;编辑文本“;领域 当点击一个按钮告诉用户填写空白字段时,我试图得到一个消息。当前,如果该字段为空,则会崩溃/强制关闭应用程序。我尝试执行以下代码,但没有成功。最初我没有if/else,我只是运行计算器();方法和以下imm代码,android,android-edittext,toast,Android,Android Edittext,Toast,有人能给我指出正确的方向吗 public void onClick(View v) { if ((EditText)findViewById(R.id.amount1)== null) { Context context = getApplicationContext(); CharSequence text = "Enter a number"; int duration = Toast.LENGTH
public void onClick(View v)
{
if ((EditText)findViewById(R.id.amount1)== null)
{
Context context = getApplicationContext();
CharSequence text = "Enter a number";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
else
{
calculator();
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
}
我很确定这是错误的代码:
if ((EditText)findViewById(R.id.amount1)== null)
只是不知道如何用我想要的方式来表达。你实际上想检查EditText的内容是空的还是空字符串
EditText text = (EditText)findViewById(R.id.amount1);
if(TextUtils.isEmpty(text.toString())) {
// show toast
}
这条线应该是这样的:
if("".equals(((EditText)findViewById(R.id.amount1)).getText().toString()))
当然,您可能希望将该语句分成更多行,以使其更具可读性 您实际上想要检查EditText的内容是null还是空字符串 这条线应该是这样的:
if("".equals(((EditText)findViewById(R.id.amount1)).getText().toString()))
当然,您可能希望将该语句分成更多行,以使其更具可读性 即使字段为空,edittext也不为空。使用:
EditText editText = (EditText)findViewById(R.id.amount1);
String text = new String(editText.getText());
if (test.equals("")) {
//...
即使字段为空,edittext也不为空。使用:
EditText editText = (EditText)findViewById(R.id.amount1);
String text = new String(editText.getText());
if (test.equals("")) {
//...
((EditText)findViewById(R.id.amount1)=null
只是获取对id为amount1
的EditText的引用,而不是检查该EditText是否具有有效条目
要查看EditText是否包含文本,可以通过EditText\getText().toString()获取它所包含的字符串。
要实现这一点,请首先将对EditText的引用存储在var中,然后对字符串执行检查:
EditText et = (EditText)findViewById(R.id.amount1);
String amount1 = et.getText().toString();
if (amount1.equals("")) {
// Do your stuff here
}
我使用的是局部变量,只是假设您希望字符串包含内容。您可能需要执行其他检查来处理所有情况(例如格式错误的输入)。您可以通过在EditText上设置inputType来减少其中的一部分。例如,如果您尝试仅处理十进制数,则可以将其设置为numberDecimal。((EditText)findViewById(R.id.amount1)==null
只是获取对id为amount1
的EditText的引用,而不是检查该EditText是否具有有效条目
要查看EditText是否包含文本,可以通过EditText\getText().toString()获取它所包含的字符串。
要实现这一点,请首先将对EditText的引用存储在var中,然后对字符串执行检查:
EditText et = (EditText)findViewById(R.id.amount1);
String amount1 = et.getText().toString();
if (amount1.equals("")) {
// Do your stuff here
}
我使用的是局部变量,只是假设您希望字符串包含内容。您可能需要执行其他检查来处理所有情况(例如格式错误的输入)。您可以通过在EditText上设置inputType来减少其中的一部分。例如,如果您尝试只处理十进制数,则可以将其设置为numberDecimal。尝试在EditText小部件中检查文本的长度
EditText e = (EditText)findViewById(R.id.amount1));
if(e.getText().length == 0){
//Show Toast
}else{
//continue your code
}
尝试在EditText小部件中检查文本的长度
EditText e = (EditText)findViewById(R.id.amount1));
if(e.getText().length == 0){
//Show Toast
}else{
//continue your code
}
使用此代码
EditText et = (EditText)findViewById(R.id.amount1));
if(et1.getText().length() == 0){
//Display toast here
} else{
//Your code
}
使用此代码
EditText et = (EditText)findViewById(R.id.amount1));
if(et1.getText().length() == 0){
//Display toast here
} else{
//Your code
}