私は現在、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();
}
助けていただければ幸いです!