あるクラスから別の拡張クラスにコンテキストを渡そうとしていますAsyncTask
。コードは次のとおりです。
loadSomeStuff slb = new SamsungLB().new loadSomeStuff();
slb.execute(USA.this.getSherlockActivity());
非同期タスク:
public void execute(SherlockFragmentActivity sherlockActivity) {
// TODO Auto-generated method stub
this.ctx = sherlockActivity;
}
その後、活動はうまくいきませんでした。そこで、コンテキストが null かどうかを確認しました。
if (ctx == null) {
System.out.print("null");
}
はい、私は正しかったです、私のコンテキストは null です! 私は決して execute メソッドを呼び出していないように感じます:/何かアドバイスはありますか? これが私の完全な AsyncTask クラスです。
public class loadSomeStuff extends AsyncTask<String, Integer, String> {
ProgressDialog dialog;
Context ctx;
protected void onPreExecute() {
dialog = new ProgressDialog(ctx);
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
dialog.setCancelable(false);
dialog.setIndeterminate(false);
dialog.setMessage(getResources().getString(R.string.searching));
dialog.show();
}
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
//fillinglistview//
}
if (ctx == null) {
System.out.print("null");
}
return null;
}
protected void onProgressUpdate(Integer... progress) {
}
protected void onPostExecute(String result) {
listview.setAdapter(new MyListAdapterSamsung(getActivity(),
beanClass));
if (beanClass.isEmpty()) {
Toast.makeText(getSherlockActivity(), "No Connection",
Toast.LENGTH_LONG).show();
}
}
public void execute(SherlockFragmentActivity sherlockActivity) {
// TODO Auto-generated method stub
this.ctx = sherlockActivity;
}
}