2014-10-15 3 views
0

나는 FragmentActivity을 가지고 있으며, 나는 onResume 방법으로 서비스에 바인딩하고있다. 또한 활동에 추가되는 Fragment이 있습니다. FragmentAsyncTask에있는 doInBackground 메서드의 서비스를 호출하여 일부 초기화를 먼저 수행 한 다음 초기화 후에 조각의 단추가 활성화됩니다. 그러나 AsyncTaskonActivityCreated 또는 onResume 메서드에서 실행하려고 시도했을 때 서비스를 받으려고 시도 할 때 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(); 
} 

액티비티는 서비스에 연결되지만, 서비스를 사용할 준비가 된 (그리고 더 이상 null이 아님) 조각을 어떻게 알 수 있습니까?

답변

0

어떤 시점에서 변수 activitygetActivity()으로 설정한다고 가정합니다. 내 생각 엔 당신이 그것을 할 때 조각이 붙어 있지 않아서 activity이 null이 아니고 getMyService()

인 것 같습니다.
관련 문제