X

【Android】別(呼び出し元)タスクの画面のオブジェクトへのfindViewByIdが未定義となる

メインスレッドからネットワーク処理ができないことで、HTTP通信を別タスクにしました。
サーバ処理結果を呼び出し元の画面に表示の際に、findViewByIdを使用したところ、未定義ですとなりエラーになってしまいました。

なぜか理解できませんでしたが、参照できていないんだろうと。。。。

そこでググったところ、AsyncHttpRequestを作る際に呼び出し元のActivityをとっておいて、その利用すれば良いことがわかりました。

private Activity mainActivity;
public AsyncHttpRequest(Activity activity) {
this.mainActivity = activity;
}

@Override
protected void onPostExecute(String result) {
TextView textview1 = (TextView)mainActivity.findViewById(R.id.textvew_result);
textview1.setText(result);
}

のような感じで正常に表示されるようになりました。
以上、簡単なことでしたが、備忘録まで。

itsysgroup: