android系统不适用于活动的onCreate()之前服务 [英] Android System services not available to Activities before onCreate()

查看:203
本文介绍了android系统不适用于活动的onCreate()之前服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

....    

@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)

任何想法如何解决这个问题?

Any ideas how to fix it?

推荐答案

这是破的唯一事情是你的code。修复是避免访问完成后系统服务之前的onCreate(),否则没有尚未作出对活动对象的设置,因此,您所面临的自我解释,对因异常。

The only thing that is broken is your code. Fix would be to avoid access to system services prior onCreate() is completed otherwise there's no setup made yet to the activity object, hence the self-explaining-the-cause exception you facing.

这篇关于android系统不适用于活动的onCreate()之前服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆