我要活动,MainActivity和settingsActivity.因为我在settingsActivity中使用onPause和onResume方法.因此,在切换到MainActivity并再次返回后,我在settingsActivity中完成的操作将被保存. settingsActivity: 在这里
settingsActivity:
在这里,我有一个TextView(称为“settings2”)作为一种变量和我的三个RadioButtons(radio0,radio1和radio2),它们在RadioGroup中.
切换到MainActivity后,如果上次检查radio0,我的程序会在文件中保存“0”(保存在SD卡上).但是如果上次检查了radio1,它会在该文件中放置1.如果上次检查了radio2,它会在该文件中放入2.
我在onPause方法中使用了这个.
然后在onResume方法中,我读取该文件的文本并将其放在TextView“settings2”中.
在此代码之后(仍在onResume中)我想检查/取消选中我的RadioButtons.因此,如果TextView“settings2”的文本为“0”,则应检查RadioButton“radio0”而不检查其他.如果此TextView的文本为“1”,则应检查RadioButton“radio1”而不检查其他.如果此TextView的文本为“2”,则应检查RadioButton“radio2”而不检查其他.
为此,我使用了以下两个代码但不幸的是它们没有用.
第一个代码:
if (settings2.getText().equals("0")) { radio0.setChecked(true); radio1.setChecked(false); radio2.setChecked(false); } else if (settings2.getText().equals("1")) { radio0.setChecked(false); radio1.setChecked(true); radio2.setChecked(false); } else if (settings2.getText().equals("2")) { radio0.setChecked(false); radio1.setChecked(false); radio2.setChecked(true); }
第二个代码:
if (settings2.getText().equals("0")) { radioGroup1.check(R.id.radio0); } else if (settings2.getText().equals("1")) { radioGroup1.check(R.id.radio1); } else if (settings2.getText().equals("2")) { radioGroup1.check(R.id.radio2); }
有人可以帮忙解决这个小问题吗?我期待着你的帮助!
提前致谢!
这是问题所在.EditText et = .... et.getText() // Does not return a string, it returns an Editable.
尝试:
String str = et.getText().toString;
然后使用str进行比较.
编辑:请参阅下面的源代码,了解为什么必须使用字符串进行比较.默认值是通过引用进行比较,但字符串具有覆盖等于基于字符串值进行比较.如果您不使用String,则不会获得匹配.
public boolean More ...equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anObject; int n = count; if (n == anotherString.count) { char v1[] = value; char v2[] = anotherString.value; int i = offset; int j = anotherString.offset; while (n-- != 0) { if (v1[i++] != v2[j++]) return false; } return true; } } return false; }