Android onPause():SuperNotCalledException,即使存在super.onPause()
我正在尝试使用中的代码测试SharedReferences。我试着稍微改变一下,因为他们说在顶部。问题是,即使覆盖的第一行是super.onPause(),onPause也会给我这个奇怪的错误 下面是一个代码示例:Android onPause():SuperNotCalledException,即使存在super.onPause(),android,sharedpreferences,onpause,Android,Sharedpreferences,Onpause,我正在尝试使用中的代码测试SharedReferences。我试着稍微改变一下,因为他们说在顶部。问题是,即使覆盖的第一行是super.onPause(),onPause也会给我这个奇怪的错误 下面是一个代码示例: public class SaveInfoActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle saved
public class SaveInfoActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addListener();
loadText();
textSaved = "";
created = true;
}
private boolean created = false;
private void addListener() {
EditText et = (EditText) findViewById(R.id.editText1);
et.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
textSaved = s.toString();
System.out.println("text:" + textSaved);
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
});
}
private static String fileName = "savedInfo.txt";
private static String propertyName = "text";
private String textSaved;
@Override
protected void onPause() {}{
super.onPause();
if (created) {
saveText();
}
}
private void loadText() {
SharedPreferences settings = getSharedPreferences(fileName, MODE_PRIVATE);
if (settings == null)
return;
String result = settings.getString(propertyName, "");
setText(result);
}
private void saveText() {
System.out.println("saving");
SharedPreferences settings = getSharedPreferences(fileName, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString(propertyName, textSaved);
editor.commit();
}
private void setText(String result) {
TextView tv = (TextView) findViewById(R.id.textView1);
tv.setText(result);
System.out.println("restore" + result);
}
知道我在哪里漏掉了什么吗?还要注意所需的if(created),因为在我第一次启动应用程序时也会调用onPause()
protected void onPause() {}{
这里有一对额外的花括号,使它看起来像一个空函数
这里有一对额外的花括号,使它看起来像一个空函数 在我看来就像一个简单的打字错误……请注意onPause()后面的空大括号。这可能被检测为您的方法
@Override
protected void onPause() {}{
super.onPause();
if (created) {
saveText();
}
}
在我看来,这是一个简单的打字错误……请注意onPause()后面的空大括号。这可能被检测为您的方法
@Override
protected void onPause() {}{
super.onPause();
if (created) {
saveText();
}
}
10分钟注册并发布问题,什么?10秒来发现一个愚蠢的打字错误。:)我读了好几遍都没看到。谢谢10分钟注册并发布问题,什么?10秒来发现一个愚蠢的打字错误。:)我读了好几遍都没看到。谢谢谢谢(我想这是更多的眼睛检查代码的能力。)而且很奇怪Eclipse没有警告我。当然,它不能在不应该的时候警告你有一个空函数。。。但我很惊讶的是,它没有抱怨匿名的功能在无关紧要的地方!我又查了一遍。没有任何警告,谢谢!(我想这是更多的眼睛检查代码的能力。)而且很奇怪Eclipse没有警告我。当然,它不能在不应该的时候警告你有一个空函数。。。但我很惊讶的是,它没有抱怨匿名的功能在无关紧要的地方!我又查了一遍。没有任何警告。