Fragment中添加ListView而不使用ListFragment
最初的构想是,将Fragment和ViewPager结合起来,
然后突发奇想,在第一个Fragment里添加了ListView,
依照网上的建议,extends了ListFragment,接着各种报错。
仔细看了下,原来是MainActivity这里:
1 //构造适配器 2 List<Fragment> fragments=new ArrayList<Fragment>(); 3 fragments.add(new Fragment1()); 4 fragments.add(new Fragment2()); 5 fragments.add(new Fragment3()); 6 FPAdapter adapter = new FPAdapter(getSupportFragmentManager(), fragments);
因为是
List<Fragment>
Fragment1用ListFragment自然会报错。
修改Fragment1里代码,添加ListView的方法如下:
1 public class Fragment1 extends Fragment {
2
3 private ListView listView;
4
5
6 public View onCreateView(LayoutInflater inflater, ViewGroup container,
7 Bundle savedInstanceState) {
8 // TODO Auto-generated method stub
9 View view= inflater.inflate(R.layout.layout1, container, false);
10 listView = (ListView)view.findViewById(R.id.lv);
11 ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity(),
12 android.R.layout.simple_list_item_1,getData());
13 listView.setAdapter(arrayAdapter);
14
15 return view;
16 }
17
18 private List<String> getData(){
19 List<String> data = new ArrayList<String>();
20 for(int i = 0;i <20;i++) {
21 data.add(i+"");
22 }
23 return data;
24 }
25 }
其中
android.R.layout.simple_list_item_1
是自带的,不用定义。
这样ListView便能正常显示了。


浙公网安备 33010602011771号