Fragment里添加ListView不要用ListFragment
起始的想法是将Fragment和ViewPager结合起来,
然后突发奇想,在第一个Fragment里添加了ListView,
依照网上的建议,extends了ListFragment,接着各种报错。
仔细看了下,原来是MainActivity这里:
//构造适配器
List<Fragment> fragments=new ArrayList<Fragment>();
fragments.add(new Fragment ());
fragments.add(new Fragment ());
fragments.add(new Fragment ());
FPAdapter adapter = new FPAdapter(getSupportFragmentManager(), fragments);
因为是
List<Fragment>
Fragment1用ListFragment自然会报错。
修改Fragment1里代码,添加ListView的方法如下:
public class Fragment extends Fragment { private ListView listView; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub View view= inflater.inflate(R.layout.layout , container, false); listView = (ListView)view.findViewById(R.id.lv); ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_ ,getData()); listView.setAdapter(arrayAdapter); return view; } private List<String> getData(){ List<String> data = new ArrayList<String>(); for(int i = ;i < ;i++) { data.add(i+""); } return data; } }
其中
android.R.layout.simple_list_item_1
是自带的,不用定义。
这样ListView便能正常显示了。
以上就是本文的全部内容,希望大家喜欢。
赞 (0)