0

我的android应用程序中有这个类:

public class Academic extends Activity {
String reg, regi, name, course, branch, sem, subjects, present, total,
        batch, success;
GetHttp student;
JSONObject returned;
private ProgressDialog pDialog;


@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.academic);
    SharedPreferences app_preferences = PreferenceManager
            .getDefaultSharedPreferences(this);
    reg = app_preferences.getString("Registration", null);
    student = new GetHttp();
    new studentDetails().execute();
}

public void onPause() {
    this.finish();
}

class studentDetails extends AsyncTask<String, String, String> {
       //get JSON data and display
}
}

当我回击时,我得到了这个异常:

android.app.SuperNotCalledException:活动 {com.erp.centurion/com.erp.centurion.Academic} 没有调用 super.onPause()

请帮助找出我收到此错误的原因。提前致谢。

4

5 回答 5

1

改成:

public void onPause() {

    **super.onPause()**
    this.finish();
}

只是,在 onPause 中完成活动很奇怪。你为什么这样做?

于 2013-06-10T06:37:30.157 回答
1

一旦你的 onPause 开始调用super.onPause()。这可能会为您解决问题。

于 2013-06-10T06:37:31.940 回答
1

在您的onPause方法中,您必须调用super.onPause().

public void onPause() {
    super.onPause();
    this.finish();
}

当覆盖某些功能时,例如 Activity 暂停,需要允许超类实现进行处理。SuperNotCalledException你得到了所有你需要发现哪种方法是罪魁祸首的提示。

于 2013-06-10T06:37:46.743 回答
1

更改您的 onPause() 方法

public void onPause() {
    this.finish();
}

public void onPause() {
  super.onPause();
    this.finish();
}
于 2013-06-10T06:37:58.190 回答
1

用这种方式

public void onPause() {
  super.onPause();
    finish();
}
于 2013-06-10T06:43:31.787 回答