私は3つのタブを持っており、私のタブの1ListView
つには、SQLiteデータベースからアイテムをフェッチしているがあります。
問題は、他のタブに変更してこのタブに戻るとListView
、データベースアイテムが2回表示され、タブを変更するたびに増加することです。
これがタブ表示の私のコードですListView
:
public class MyActivity extends Fragment
{
private ListView mListView;
private DatabaseHandler db;
List my = new ArrayList();
MyListAdapter madapter ;
//.....
//...
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
MyItem i;
LinearLayout mylayout = (LinearLayout) inflater.inflate(R.layout.my_layout, container, false);
List<MyItem> l = db.getAllMyItem();
while(!l.isEmpty() )
{
i = l.get(0);
l.remove(0);
my.add(new MyList(i.getName(),0));
}
mListView = (ListView) mylayout.findViewById(R.id.list);
madapter = new MyListAdapter(getActivity(), my);
mListView.setAdapter(madapter);
}
while
データベースから何度も結果をフェッチしているのは私のループですが、タブを変更してこのFragment
タブに戻った後でも、データベースから取得した結果を1回だけ表示するにはどうすればよいですか。