我是带有 Fragments 和 ViewPager (android.support.v4) 的 Android 兼容性库的新手,我在 Eclipse 中没有 JavaDocs 的情况下玩得很开心
我正在关注ViewPager 和 Fragments 上的本教程
我重用了一些代码来将片段添加到 ViewPager,同时在 foreach 循环中迭代自定义对象
private void initialisePaging() {
List<Fragment> fragments = new Vector<Fragment>();
for (CustomObjectClass object : getAllBalances()) {
Fragment fragment = Fragment.instantiate(this,
SomeCustomFragmentClass.class.getName());
// Line below is where stacktrace points to with NullPointer
ListView lv = ((ListView) fragment.getActivity().findViewById(
R.id.someListView));
// proceed setting a custom adapter to lv (ListView) then adding to list of fragments
fragments.add(fragment);
}
this.mPagerAdapter = new PagerAdapter(
super.getSupportFragmentManager(), fragments);
ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager);
pager.setAdapter(this.mPagerAdapter);
}
在阅读了其他答案和“google'n”一整天后,我得出的结论是,当我参考其中一个观点时,这可能与 Fragment 没有完全初始化有关。
或者我离得更远,不知道我在做什么。
我尝试将方法放在片段类中以设置适配器,并在onViewCreated()
其中调用它们,但使用我的代码的当前布局会使这有点不切实际。
如果我正在做的事情不正确或效率低下,我愿意接受任何替代方案
我的目标是遍历包含数据的 CustomObject 以填充每个 Fragments ListView 并将每个 Fragment 放入 ViewPager