Java 在Android Studio中生成所需的EditText字段

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

我开始制作一个应用程序。我目前有一个编辑文本。我如何使它成为必需的?当编辑文本中未输入任何内容时!“请输入用户名”消息应在屏幕上闪烁,但仍会转到下一个场景/活动。如果长度为0,如何停止提交。我将return false放入public void中,但我收到以下消息
无法从具有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。