我試圖運行的異步任務在我的活動的的onResume()事件關閉。我的目標是每當活動進入前臺時執行任務。當我在模擬器/手機中運行它時,app force在遇到onPreExecute方法中的ProgressDialog代碼時關閉。ProgressDialog力的的AsyncTask
這裏是我的活動代碼:
public class PostActivity extends Activity {
private ProgressDialog progressBar;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.post);
}
public void onResume() {
super.onResume();
new LoadFeedTask().execute();
}
public class LoadFeedTask extends AsyncTask<Void, Void, Boolean> {
protected void onPreExecute() {
progressBar.setCancelable(false);
progressBar.setMessage("Logging in...");
progressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressBar.show();
}
@Override
protected Boolean doInBackground(Void... params) {
// TODO Auto-generated method stub
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
Log.d(TAG, "Checking Internet Connectivity");
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
protected void onPostExecute(Boolean result) {
progressBar.dismiss();
if (result == true) {
//Do Something
}
if (result == false) {
//Do Something Else
}
}
}
}
當我檢查輸出logcat的,它顯示了在progressBar.setCancelable(假)NPE。即使經過數小時的努力,我也無法解決它。請幫忙。道歉,如果這是一個重複的問題,我似乎無法找到與我的問題的任何問題SO
它的工作!感謝名單這麼多krilovich – 2012-08-08 19:35:16
能否請您給予好評的答案=) – krilovich 2012-08-08 20:01:07
我沒有15美譽投了烏爾答...對不起夥計 – 2012-08-09 19:44:56