質問: new HttpConnect(); //アクティビティ生成完了時に呼ばれる(3) @Override public void onActivityCreated(Bundle bundle) { super.onActivityCreated(bundle); setListAdapter(new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_activated_1, (List)hc.showMember())); ★★ getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE); getListView().setBackgroundColor(Color.LTGRAY); if (isTablet(getActivity())) showDetails(0); } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` よろしくお願いします。 ### 追加 以下の記事のようにonResponseメソッド内でViewに値を設定するのが良いのでしょうか。 ただ、以下のやり方だとフラグメントは使えなさそうな木がするのですが、 Android:Retrofit2.0ではてなAPIとおしゃべりしてみた それともセッターを作った方がいいんでしょうか。
回答: お二人の意見を元に解決できました。 かなり強引に行きました。 解決してはいますが、ご意見頂けますと嬉しいです。 Present.javaのフラグメントのリストを表示する処理をメソッド化し、 そのメソッドをコールバック関数内に仕込みました。 実現した流れは以下です。 1JSON配列データリスト表示メソッド起動(Present.java#setListAdapterMethod) 2HTTP通信&JSONデータ取得(HttpConnect.java#passList) 3JSONデータ取得後にコールバック関数の起動(Present.java#callbackMethod) 4コールバック関数内でもう一度配列データリスト表示メソッド起動(Present.java#callbackMethod#setListAdapterMethod) setListAdapterMethodを新しく作り解決できました。 Before ``` setListAdapter(new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_activated_1, lists)); getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE); getListView().setBackgroundColor(Color.LTGRAY); if (isTablet(getActivity())) showDetails(0); ``` After ``` public void setListAdapterMethod(List lists){ System.out.println(lists); setListAdapter(new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_activated_1, lists)); getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE); getListView().setBackgroundColor(Color.LTGRAY); if (isTablet(getActivity())) showDetails(0); } ``` ★以下全コード★ Present.java ``` public class Present extends Activity { 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 //リストフラグメントの生成(2) public static class TitlesFragment extends ListFragment implements CallHttp.CallHttpCallbacks { 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 //アクティビティ生成完了時に呼ばれる(3) @Override public void onActivityCreated(Bundle bundle) { super.onActivityCreated(bundle); hc.passList(); System.out.println("あああ"); System.out.println(lists); System.out.println("いいい"); setListAdapterMethod(lists); ★メソッド化★ } 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 public void callbackMethod(List lists){ System.out.println( "コールバック成功!"); System.out.println(lists); setListAdapterMethod(lists); ★メソッド追加★ } public void setListAdapterMethod(List lists){ ★メソッド化★ System.out.println(lists); setListAdapter(new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_activated_1, lists)); getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE); getListView().setBackgroundColor(Color.LTGRAY); if (isTablet(getActivity())) showDetails(0); } } } ```