Android 基础知识-->;使用if-else检查字符串以设置int值,可能错误使用onResume
所以我还在这里开发我的第一个小应用程序,是Android和Java的新手,所以我在这里遇到了一个基本的小问题。我第一个问题的答案真的很有帮助,所以在研究之后,我想我应该寻求更多的帮助 其思想是,在另一个屏幕上,用户做出选择a、B、C或D,这些选择作为字符串传递给intent。OnResume检查选项是否为空,并设置与该字符串对应的整数。稍后,当用户按下另一个按钮时,一些if-else逻辑检查int,并根据选择的int执行和操作。问题是应用程序在onResume时崩溃 我了解到我必须使用equals(string)来比较字符串引用,但问题可能是我试图将一个字符串引用与一个文本字符串进行比较?任何帮助都将不胜感激。 谢谢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
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;
}
}
}