Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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
Android 基础知识-->;使用if-else检查字符串以设置int值,可能错误使用onResume_Android_String_If Statement_Int - Fatal编程技术网

Android 基础知识-->;使用if-else检查字符串以设置int值,可能错误使用onResume

Android 基础知识-->;使用if-else检查字符串以设置int值,可能错误使用onResume,android,string,if-statement,int,Android,String,If Statement,Int,所以我还在这里开发我的第一个小应用程序,是Android和Java的新手,所以我在这里遇到了一个基本的小问题。我第一个问题的答案真的很有帮助,所以在研究之后,我想我应该寻求更多的帮助 其思想是,在另一个屏幕上,用户做出选择a、B、C或D,这些选择作为字符串传递给intent。OnResume检查选项是否为空,并设置与该字符串对应的整数。稍后,当用户按下另一个按钮时,一些if-else逻辑检查int,并根据选择的int执行和操作。问题是应用程序在onResume时崩溃 我了解到我必须使用equal

所以我还在这里开发我的第一个小应用程序,是Android和Java的新手,所以我在这里遇到了一个基本的小问题。我第一个问题的答案真的很有帮助,所以在研究之后,我想我应该寻求更多的帮助

其思想是,在另一个屏幕上,用户做出选择a、B、C或D,这些选择作为字符串传递给intent。OnResume检查选项是否为空,并设置与该字符串对应的整数。稍后,当用户按下另一个按钮时,一些if-else逻辑检查int,并根据选择的int执行和操作。问题是应用程序在onResume时崩溃

我了解到我必须使用equals(string)来比较字符串引用,但问题可能是我试图将一个字符串引用与一个文本字符串进行比较?任何帮助都将不胜感激。 谢谢


myChoice是在…extends Activity{之后立即声明的,我也不确定这是否真的应该在onResume中,但在我开始尝试在onResume中设置myChoice之前(当我刚刚显示选项时),它就起作用了。再次感谢!

更改
如果(!choice.equals(“”))
检查null。否则,你的应用程序会尝试访问空引用并崩溃。

你应该发布一个日志。另外,你说onResume检查字符串是否为null,但是你没有if检查
if(string==null)
首先确保通过使用Log@A--C、 谢谢,这显然正是我所需要的。我将if(!choice.equals(“”)更改为if(choice!=null),它可以工作!Java最重要的事情之一就是null引用。请务必记住它们。
        protected void onResume() {
    super.onResume();

    // Get the message from the intent
    Intent intent = getIntent();
    String choice = intent
            .getStringExtra(ExtensionSetupSlector.TORQUE_SETUP);

    // Create the text view
    TextView displayChoice = (TextView) findViewById(R.id.displayChoice);
    if (!choice.equals("")){
    displayChoice.setText(choice);

    if (choice.equals("A")) {
        myChoice = 1;
    }
    if (choice.equals("B")) {
        myChoice = 2;
    }
    if (choice.equals("C")) {
        myChoice = 3;
    }
    if (choice.equals("D")) {
        myChoice = 4;
    }

}
}