1

フラグメントアクティビティでタブホストを作成しています。また、タブが選択されたときに各タブのコンテンツを動的にロードするフラグメントを作成しました。タブの内容をロードするために asynctask を使用しています。タブが選択されたときにタブのコンテンツをロードしているため、タブのコンテンツとして単一のフラグメントを作成しました。また、私のタブは動的に作成されます。

私の質問は、asynctask を実行することによってコンテンツが読み込まれる最初のタブを選択したときですが、以前に選択されたタブを選択してもコンテンツは変更されず、最初に選択された最初のタブのコンテンツは変更されません。時間が表示されます。

これは、タブが選択されたときにコンテンツが読み込まれるフラグメントの onCreateView メソッドです。

public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

         View rootView =  inflater.inflate(R.layout.fragment_games, container, false); 

        return rootView;
    }

これは、asynctask を呼び出している onActivityCreated メソッドです。

public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

            new FetchMenuTask().execute();


    }

タブが再選択されたときに内容を変更するにはどうすればよいですか

4

1 に答える 1

-1

ayntask メソッドを onCreateView() に配置する必要があります。次に、フラグメントが選択 (追加/置換) されるたびに、onCreateView() 内で asynctask が呼び出され、onPostExecute() で新しいデータでビューを更新できます。

于 2013-11-06T09:16:41.010 に答える