Fragment中使用listview
16lz
2021-01-26
昨天按照在activity中的方法使用listview结果一直报错,今天参考了某高人博客后发现fragment中使用listview和activity中是不一样的。 (参考博客:http://qurtyy.blog.163.com/blog/static/574436812013112543231523/)
fragement.java部分: 注意oncreate和oncreateview的区别
在Fragment的布局中必须包含id "@android:id/list"(在代码中则是list)的Listview。
fragement要extend ListFragment而不是fragment。
只能使用SimpleAdapter或者SimpleCursorAdapter作为适配器。
直接使用ListFragment的setListAdapter()来设置适配器。
上代码
fragement部分:
me.xml:
<?xml version="1.0" encoding="utf-8"?> listitem部分:me_function_item.xml:<?xml version="1.0" encoding="utf-8"?>
fragement.java部分: 注意oncreate和oncreateview的区别
public class MeFragment extends ListFragment {private ListView list;private SimpleAdapter adapter;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view = inflater.inflate(R.layout.me, container, false);list = (ListView) view.findViewById(android.R.id.list);return view;}@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);String[] listItem = { "a", "b", "c", "d", "e" };int[] iconItem = { R.drawable.ic_launcher, R.drawable.ic_launcher,R.drawable.ic_launcher, R.drawable.ic_launcher,R.drawable.ic_launcher };adapter = new SimpleAdapter(getActivity(), getData(listItem, iconItem),R.layout.me_function_item, new String[] { "name", "icon" },new int[] { R.id.functionName, R.id.functionIcon });setListAdapter(adapter);}@Overridepublic void onListItemClick(ListView l, View v, int position, long id) {super.onListItemClick(l, v, position, id);}private List<? extends Map> getData(String[] strs, int[] icon) {List
更多相关文章
- android音乐播放器例子及其源码分析
- Android(安卓)Studio报错:unable to find valid certification pa
- android学习摘记——TabHost使用代码
- Android让手机主动亮屏的代码
- 如何在代码中动态设置字体大小
- Android笔记使用Jsoup解析Html
- 用cmake生成ios framework库
- Android(安卓)opengl es 2.0怎么学习
- Android控件(View)之TextView, Button, ImageButton, ImageView,