Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果(text.equals)崩溃_Java_Android_Logging_Crash - Fatal编程技术网

Java 如果(text.equals)崩溃

Java 如果(text.equals)崩溃,java,android,logging,crash,Java,Android,Logging,Crash,我的视图上有一个textfield,当textfield上的文本发生变化时,我有一个if语句,因此当某个关键字在textview中时,一些代码将运行。下面是我的if语句代码: if (text1.equals("rotate")) { red.setRotation(red.getRotation() + 5); blue.setRotation(blue.getRotation() + 5);

我的视图上有一个textfield,当textfield上的文本发生变化时,我有一个if语句,因此当某个关键字在textview中时,一些代码将运行。下面是我的if语句代码:

 if (text1.equals("rotate")) {


                red.setRotation(red.getRotation() + 5);

                blue.setRotation(blue.getRotation() + 5);


            }
但当text1等于“rotate”并运行此代码时,应用程序将崩溃

这是日志目录:


原因是
text1
为null,并且您正试图调用null引用上的方法

您可能忘记初始化它,或者尚未分配值

如果您已经进行了初始化,并且有可能获得空值,那么您需要为此设置一个保护条件

 if (text1 !=null && text1.equals("rotate")) {

这首先检查null,然后调用该方法。

原因是
text1
为null,并且您正在尝试调用null引用上的方法

您可能忘记初始化它,或者尚未分配值

如果您已经进行了初始化,并且有可能获得空值,那么您需要为此设置一个保护条件

 if (text1 !=null && text1.equals("rotate")) {

这将首先检查null,然后调用该方法。

似乎text1未初始化。在方法中,初始化
text1
。下面是一个如何:

text1   = (EditText)findViewById(R.id.text1);
如果它已初始化并且可以为null,则保护它

 if ("rotate".equals(text1)) {

似乎text1没有初始化。在您的方法中,初始化
text1
。下面是一个如何:

text1   = (EditText)findViewById(R.id.text1);
如果它已初始化并且可以为null,则保护它

 if ("rotate".equals(text1)) {

首先:初始化
text1

如果是
文本视图
,则

text1 = (TextView) findViewById(R.id.textview_id);
text1 = (EditText) findViewById(R.id.editText_id);
如果是
EditText
,则

text1 = (TextView) findViewById(R.id.textview_id);
text1 = (EditText) findViewById(R.id.editText_id);
第二步:如下比较:

if (text1.getText().toString().equalsIgnoreCase("rotate")) {
   red.setRotation(red.getRotation() + 5);
   blue.setRotation(blue.getRotation() + 5);
 }

首先:初始化
text1

如果是
文本视图
,则

text1 = (TextView) findViewById(R.id.textview_id);
text1 = (EditText) findViewById(R.id.editText_id);
如果是
EditText
,则

text1 = (TextView) findViewById(R.id.textview_id);
text1 = (EditText) findViewById(R.id.editText_id);
第二步:如下比较:

if (text1.getText().toString().equalsIgnoreCase("rotate")) {
   red.setRotation(red.getRotation() + 5);
   blue.setRotation(blue.getRotation() + 5);
 }

首先,您需要初始化
text1
对象。从日志中可以清楚地看到
text1
对象为
null

然后,可以使用以下方法比较字符串:

if (text1 && "rotate".equals(text1.getText().toString()))
{
}

首先,您需要初始化
text1
对象。从日志中可以清楚地看到
text1
对象为
null

然后,可以使用以下方法比较字符串:

if (text1 && "rotate".equals(text1.getText().toString()))
{
}

意思是
text1
is
null
text1在哪里初始化?始终在有问题的代码中发布日志猫。永远不要将其添加为图片。如果您进行了“旋转”。等于(text1)它不会崩溃。意思是
text1
is
null
text1在哪里初始化?始终在有问题的代码中发布日志猫。永远不要将其添加为图片。如果您这样做了“rotate”.equals(text1)不会崩溃。只需执行“rotate”.equals(text1)即可,这应该会在NPE上得到注意。您不需要检查null。@StackFlowed同意。Apache StringUtils.isNotBlank(text1)呢?@StackFlowed让OP了解核心内容:)然后他用这些代码优化了他的代码。即使我使用了这些代码,应用程序仍然会崩溃。使用相同的日志,只需执行“rotate”。equals(text1)就可以处理NPE。你不需要检查null。@StackFlowed同意。Apache StringUtils呢。isNotBlank(text1)呢?@StackFlowed让OP学习核心知识:)然后他用这些代码优化他的代码。即使我使用这些代码,应用程序仍然崩溃。使用相同的日志