0

私は現在、2 つのタブ付きフラグメントを持つ Android アプリに取り組んでいます。1 つのフラグメントは、リストビュー内の事前入力されたリストで構成されます。もう 1 つは、リストビューに表示される動的リストを含みます。

最初のフラグメントのリスト項目から 2 番目のフラグメントにリストビューを設定したいと考えています。

問題
1) フラグメント 2 の ListView は、基になるアダプターがダミー リストによって初期化されない限り、データを取り込まない。

2) ListView の変更は即時ではありません。リストからリスト アイテムを削除しても、そのアイテムはフラグメント 2 の ListView に引き続き表示されます。しかし、タブを切り替えると、目的のリストが表示されます。

コードは次のとおりです。

フラグメント 2

public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstance) {
//      listEntries = new ArrayList<InterimOrderEntry>(0);
        listEntries = DummyListData.getOrder();

        view = (ListView)inflater.inflate(R.layout.fragment2, container, false);
        ListAdapter2 listAdapter2 = new ListAdapter2(orderEntries, getLayoutInflater(savedInstance), container);
        view.setAdapter(listAdapter2);

        return view;
    }

ListAdapter1

private void addToList2(String itemName, int quantity, int itemImageId, Context context){
        ListEntry listEntry = new ListEntry(itemName, quantity, itemImageId);
        listEntries.clear();
        listEntries.addAll(LisAdapter2.getOrderEntries());
        listEntries.add(orderEntry);

        new ListAdapter2().refreshListEntries(listEntries);
    }

ListAdapter2

private static List<ListEntry> listEntries;
public void refreshListEntries(List<ListEntry> newListEntries){
        listEntries.clear();
        listEntries.addAll(newListEntries);
        this.notifyDataSetChanged();

    }

助けていただければ幸いです!

4

1 に答える 1

0

それを理解した、答えはアンドロイドドキュメントにありました、ここにリンクがあります: http://developer.android.com/training/basics/fragments/communicating.html

于 2013-05-23T19:43:36.820 に答える