你的位置:首页 > 操作系统

[操作系统]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便能正常显示了。