Java 在Android Studio中生成所需的EditText字段
我开始制作一个应用程序。我目前有一个编辑文本。我如何使它成为必需的?当编辑文本中未输入任何内容时!“请输入用户名”消息应在屏幕上闪烁,但仍会转到下一个场景/活动。如果长度为0,如何停止提交。我将return false放入public void中,但我收到以下消息Java 在Android Studio中生成所需的EditText字段,java,android,android-studio,Java,Android,Android Studio,我开始制作一个应用程序。我目前有一个编辑文本。我如何使它成为必需的?当编辑文本中未输入任何内容时!“请输入用户名”消息应在屏幕上闪烁,但仍会转到下一个场景/活动。如果长度为0,如何停止提交。我将return false放入public void中,但我收到以下消息无法从具有void result type的方法返回值 public void sendMessage(View view){ Intent intent = new Intent(this,DisplayMessage
无法从具有void result type的方法返回值
public void sendMessage(View view){
Intent intent = new Intent(this,DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.editText);
String message = editText.getText().toString();
//Trim whitespace
message = message.trim();
//Checks if the message has anything.
if (message.length() == 0)
{
editText.setError("Please Enter a username!");
//return false;
}
intent.putExtra(EXTRA_MESSAGE,message);
startActivity(intent);
}
而不是
返回false
,只需写返回
没有返回类型(因为该方法的返回类型是void),它应该允许您离开该方法。修改函数,如下所示
public void sendMessage(View view){
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.editText);
String message = editText.getText().toString();
//Trim whitespace
message = message.trim();
//Checks if the message has anything.
if (message.length() == 0) {
editText.setError("Please Enter a username!");
return;
}
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
使用
if
和else
子句将实现您想要的
//Checks if the message has anything.
if (message.length() == 0)
{
editText.setError("Please Enter a username!");
//return false;
} else {
intent.putExtra(EXTRA_MESSAGE,message);
startActivity(intent);
}
试试这个
public void sendMessage(View view){
Intent intent = new Intent(this,DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.editText);
if (!emptyEdittext(editText, "Please Enter a username!"))
{
intent.putExtra(EXTRA_MESSAGE,message);
startActivity(intent);
}}
2.调用下面的方法进行验证
public boolean emptyEdittext(EditText editText, String msg)
{
/*check edittext length*/
if(editText.getText().toString().length()==0)
{
Toast.makeText(activity, msg, Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
试试这个
string text=editText.getText().toString().trim();
if (TextUtils.isEmpty(text)){
editText.setError("Please Enter a username!");
}else {
//do something
}
更干净的方法是使用if-else-if(message.length()==0){editText.setError(“请输入用户名!”);}else{intent.putExtra(EXTRA_message,message);startActivity(intent);}这是我一直使用的一种简单方法,请尝试它,如果它与你接受我的答案,如果有任何如果你有任何疑问,我可以接受弹出的建议。但是什么是
activity
我对android和java是新手。我猜活动就是应用程序的名称?我使用了this
或getApplicationContext()
,这很有效。但是我的活动的名称是什么。它会是我的主类的名称吗?请使用您的活动名称,在该名称中,您可以像MainActivity.this一样使用上述代码,而不是activity。