0

授業がある:


public class ConferenceListFragment extends SherlockListFragment {

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

        DBAdapter dbAdapter = new DBAdapter(new DBHelper(getSherlockActivity()));       
        //How to get veriable "FLAG_BOOLEAN" ?
        List list = dbAdapter.getListItemInfoArray(FLAG_BOOLEAN);

        dbAdapter.close();

        CustomListAdapter adapter = new CustomListAdapter(getActivity(), list);
        setListAdapter(adapter);        
    }
}

変数 FLAG_BOOLEAN に応じて、DB から異なるデータを取得します。このFLAGをアクティビティからフラグメントに送信できますか?

4

2 に答える 2

1

アクティビティでsetArgumentsを使用してそれらをフラグメントに渡し、フラグメント内からgetArgumentsを使用してそれらを取得する必要があります。

于 2013-01-03T20:38:25.517 に答える
0

Fragments をプログラムで追加する場合は、次のように、ブール値フラグを取り、FragmentTransaction を使用してフラグメントを追加する ConferenceListFragment のコンストラクターを追加できます。

ConferenceListFragment list1 = new ConferenceListFragment(true);
ConferenceListFragment list2 = new ConferenceListFragment(false);

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(parentView, list1);
ft.add(parentView, list2);
ft.commit();

コンストラクターで ConferenceListFragment にプライベート ブール値のメンバー変数を設定すると、次のようになります。

public ConferenceListFragment(boolean flag){
    this.flag = flag;
}

次に、メソッドを呼び出すと、次のことができます。

List list = dbAdapter.getListItemInfoArray(this.flag);
于 2013-01-03T22:38:02.380 に答える