运行时错误-在onCreate()之前,活动无法使用Android系统服务


....    
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
done = true;
}
...

public class addcontacts extends ListActivity {
     protected void onCreate() {
     }
     protected void execute(final Boolean success) {
if (done) {
         adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listItems);
         setListAdapter(adapter);
}
     }
 }

public class UserLoginTask extends AsyncTask<Void, Void, Boolean> {
@Override
    protected Boolean doInBackground(Void... params) {
...
}
 @Override
    protected void onPostExecute(final Boolean success) {
            setContentView(R.layout.main);

            ac = new addcontacts();
            ac.execute(true);

    }
...
public class getcontacts extends AsyncTask<Void, Void, Boolean> {
    @Override
    protected Boolean doInBackground(Void... params) {

...
listItems.add(json_data.getString("login") + " " + derp);
...
}
...
}
 @Override
    protected void onPostExecute(final Boolean success) {
        getc = null;
        //showProgress(false);
        adapter.notifyDataSetChanged();
}

运行时错误:

 02-12 15:59:35.274: E/AndroidRuntime(1308): FATAL EXCEPTION: main
 02-12 15:59:35.274: E/AndroidRuntime(1308): java.lang.IllegalStateException: System services not available to Activities before onCreate()
 02-12 15:59:35.274: E/AndroidRuntime(1308):    at android.app.Activity.getSystemService(Activity.java:3989)
 02-12 15:59:35.274: E/AndroidRuntime(1308):    at android.widget.ArrayAdapter.init(ArrayAdapter.java:310)
 02-12 15:59:35.274: E/AndroidRuntime(1308):    at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:153)

有什么办法吗?

唯一损坏的是您的代码。修复方法是避免在Create((完成之前访问系统服务,否则还没有对活动对象进行设置,因此需要自行解释您面临的异常原因。

最新更新