【发布时间】:2014-10-15 00:39:27
【问题描述】:
我有一个FragmentActivity,并且我在其onResume 方法中绑定到一个服务。我还有一个Fragment 被添加到活动中。 Fragment 会从AsyncTask 中的doInBackground 方法调用服务先进行一些初始化,然后在初始化之后,片段中的一个按钮将变为启用状态。但是当我尝试从片段的onActivityCreated 或onResume 方法中执行AsyncTask 时,我在尝试获取服务时得到了NullPointerException。
@Override
public void onResume() {
new AsyncTask<Void, Void, Boolean>() {
@Override
protected Boolean doInBackground(Void params) {
return activity.getMyService().doSomeInit(); // getMyService() returns null
}
@Override
protected void onPostExecute(Boolean result) {
someButton.enabled(result);
}
}.execute();
}
活动将连接到服务,但我如何告诉片段该服务已准备好使用(因此不再为空)?
【问题讨论】:
标签: java android android-fragments android-asynctask