【发布时间】:2014-03-17 07:40:58
【问题描述】:
好吧,我有一个列表视图,如果单击列表视图元素,则会打开一个 Viewpager 以显示内容。
listview 和 Viewpager 都是来自数据库的同一个适配器。
问题是:viewpager 打开时需要创建相同的列表适配器才能使用。 如何在不重复创建的情况下将 Listview 的列表用于 viewpager。
我从 Big Nerd 的书中获取这些代码:
这是列表片段:
public class framelist extends ListFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
TestAdapter mDbHelper = new TestAdapter(getActivity());
mDbHelper.createDatabase();
mDbHelper.open();
List<element> mElements = mDbHelper.getTestData();
这是 Viewpager FragmentActivity
public class CrimePagerActivity extends FragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mViewPager = new ViewPager(this);
mViewPager.setId(R.id.viewPager);
setContentView(mViewPager);
TestAdapter mDbHelper = new TestAdapter(this);
mDbHelper.createDatabase();
mDbHelper.open();
mElements = mDbHelper.getTestData();
这是 Viewpager 片段:
public class CrimeFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
mNum2 = (int) getArguments().getInt("num");
TestAdapter mDbHelper = new TestAdapter(getActivity());
mDbHelper.createDatabase();
mDbHelper.open();
List<element> mElements = mDbHelper.getTestData();
melement = mElements.get(mNum2);
【问题讨论】:
标签: android database android-fragments android-listview database-performance