最初的构想是,将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便能正常显示了。
原标题:Fragment中添加ListView而不使用ListFragment
关键词:ie