Fragment中如何获取listview

Android 码拜 9年前 (2015-04-27) 1220次浏览 0个评论
 

    我的FileFragment继承了Fragment,现在我想要在FileFragment中获取获取file.xml中的一个listview,我用了下面两种方式:
       //fileListView=(ListView)getActivity().findViewById(R.id.file_list);得到空指针
fileListView=(ListView)inflater.inflate(R.id.file_list, null);找不到资源

    请指教在Fragment中如何获取listview。

Fragment中如何获取listview
40分
View rootView = inflater.inflate(R.layout.file, null); //先解析file.xml布局,得到一个view
ListView listView = (ListView) rootView.findViewById(R.id.file_list);
Fragment中如何获取listview
引用 1 楼 ncepu307 的回复:
View rootView = inflater.inflate(R.layout.file, null); //先解析file.xml布局,得到一个view
ListView listView = (ListView) rootView.findViewById(R.id.file_list);

太感谢了,现在是边学边做,亚历山大,等下再结贴,可能还有其他问题顺便问下。

Fragment中如何获取listview
@ncepu307 
     现在这个listview是能出来了,不过我设置的数据怎么没显示啊,方法如下:
      


@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		View rootView = inflater.inflate(R.layout.file, null);
		fileListView = (ListView) rootView.findViewById(R.id.file_listView);
		List<Map<String,Object>> listData=new ArrayList<Map<String,Object>>();
		 
		 for (int i = 0; i < 50; i++) {
			Map<String,Object> map=new HashMap<String,Object>();
			map.put("file_list_item1","第"+ i+"个");
			map.put("file_list_item2", "yyyyyyyyyy");
			listData.add(map);
		}
		 
		 SimpleAdapter simpleAdapter=new SimpleAdapter(
				this.getActivity().getApplicationContext(),
				 listData,
				 R.layout.file_item,
				 new String[]{"file_list_item1","file_list_item2"}, 
				 new int[]{R.id.file_list_item1,R.id.file_list_item2});
		 fileListView.setAdapter(simpleAdapter);
		return inflater.inflate(R.layout.file, null);
	}

Fragment中如何获取listview
引用 3 楼 cjh_tostring 的回复:

@ncepu307 
     现在这个listview是能出来了,不过我设置的数据怎么没显示啊,方法如下:
      


@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		View rootView = inflater.inflate(R.layout.file, null);
		fileListView = (ListView) rootView.findViewById(R.id.file_listView);
		List<Map<String,Object>> listData=new ArrayList<Map<String,Object>>();
		 
		 for (int i = 0; i < 50; i++) {
			Map<String,Object> map=new HashMap<String,Object>();
			map.put("file_list_item1","第"+ i+"个");
			map.put("file_list_item2", "yyyyyyyyyy");
			listData.add(map);
		}
		 
		 SimpleAdapter simpleAdapter=new SimpleAdapter(
				this.getActivity().getApplicationContext(),
				 listData,
				 R.layout.file_item,
				 new String[]{"file_list_item1","file_list_item2"}, 
				 new int[]{R.id.file_list_item1,R.id.file_list_item2});
		 fileListView.setAdapter(simpleAdapter);
		return inflater.inflate(R.layout.file, null);
	}

return rootView;
即可

Fragment中如何获取listview
马克一下,谢谢

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Fragment中如何获取listview
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!