【问题标题】:Cannot resolve method makeText in Android无法在 Android 中解析方法 makeText
【发布时间】:2020-07-25 12:55:16
【问题描述】:

我试图玩一个安卓吐司。但是遇到了一个问题,说Cannot resolve method makeText。我搜索并找到了很多答案,但没有一个对我有用。

尝试 1:

if ((fieldvalue.getText().toString()).matches("")) {
    Toast.makeText(this, "You did not enter a username", 
    Toast.LENGTH_SHORT).show();
    return;
}

尝试 2:

if ((fieldvalue.getText().toString()).matches("")) {
    public static Toast makeText (this, "You did not enter a username", 
    Toast.LENGTH_SHORT);
    return;
}

【问题讨论】:

  • Toast.makeText(context, "你没有输入用户名", Toast.LENGTH_SHORT).show();
  • 不!不工作!!!
  • 如果thisContext,第一个sn-p 就可以了。第二个 sn -p 是无效的 Java。
  • @user45154754514656210 尝试使用getApplicationContext() 而不是this 作为第一个参数,
  • user45154754514656210 问题是,如果您在点击侦听器中执行此操作,那么您应该使用YourActivity.this,或者如果您使用内部片段,那么您应该使用getContext,确保您使用的是有效上下文

标签: java android android-toast


【解决方案1】:

尝试使用isEmpty()。还要确保使用.this 定义活动类,例如yourclass.this

if(fieldvalue.getText().toString().isEmpty()) {

Toast.makeText(youractivity.this, "You did not enter a username!", Toast.LENGTH_SHORT).show();

}
else{
                    
Toast.makeText(youractivity.this, "Success! :)", Toast.LENGTH_SHORT).show();
}

【讨论】:

    【解决方案2】:
    if (fieldvalue.getText().toString().trim().isEmpty()) {
        Toast.makeText(this, "You did not enter a username", Toast.LENGTH_SHORT).show();
        return;
    }
    

    【讨论】:

    • 最好在您的回答中解释您提出的解决方案与 OP 尝试过的解决方案有何不同,您认为它应该如何解决 OP 的问题
    • matches() 用于正则表达式。这里它显然想看看它是否为空。 @DontKnowMuchButGettingBetter
    • edit您的答案,并在答案文本中包含重要信息。
    • 我的想法已经够清楚了。无论如何感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多