最近、Android アプリのアクティビティで AsyncTask を使用する必要がありました。そのため、アクティビティ内にクラスを作成し、そのクラスで AsyncTask を拡張しました。
しかし今では、その特定のアクティビティを起動するたびに、アプリがすぐにクラッシュします。アクティビティ全体onCreate()
を try、catch ブロックに入れてみましたが、例外は発生しませんでした。LogCat に何の説明もなく、そのアクティビティを起動するとすぐにアプリがクラッシュします。
これは、上記の AsyncTask クラスを追加した後に発生し始めました。また、アクティビティの起動時に AsyncTask 部分は実行されず、ボタンを押すと実行されます。何がうまくいかないのですか?以下の関連コードを追加しました。
public class ListViewA extends Activity{
public void onCreate(Bundle savedInstanceState) {try{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView lv= (ListView)findViewById(R.id.listview);
//computation
}
private String[] top() {
new RetreiveFeedTask().execute(ctr,ctz);
return er;
}
public class RetreiveFeedTask extends AsyncTask<Context, Void, String[]> {
String[] q;
protected String[] doInBackground(Context... params) {
//computation
}
protected void onPostExecute() {
er=q;
gff=true;
}
}
編集: LogCat で重要と思われるエラーを見つけました:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.exampleapp/com.example.exampleapp.ListViewA}: java.lang.NullPointerException