文章目录
- 前言
- 一、Fragment是什么?
- 二、实现步骤
- 1.定义成员变量
- 2.将布局文件解析为一个对象
- 3.创建一个空对象来存储聊天列表里的项
- 4.创建一个对象用于将数据绑定到每个项
- 5.显示聊天列表
- 6.运行结果
- 总结
前言
用一个WxFragment的类,继承自Fragment类,并用它创建一个显示微信聊天列表的Fragment
一、Fragment是什么?
Fragment是Android中的一个组件,用于构建灵活且可重用的用户界面。它可以被嵌入到Activity中,每个Activity可以包含多个Fragment,并且Fragment可以在运行时动态添加、删除或替换。
二、实现步骤
1.定义成员变量
代码中定义了一些成员变量,包括一个ListView对象mLV,一个SimpleAdapter对象mSL,一个List<Map<String, Object>>对象mList,以及两个数组mImgs和mName和mSpeech分别用于存储聊天列表中每个项的图片、标题和内容。
public class WxFragment extends Fragment { private ListView mLV; private SimpleAdapter mSL; private List<Map<String, Object>> mList; private int[] mImgs = { R.drawable.zz, R.drawable.dt, R.drawable.b, R.drawable.y, R.drawable.p}; private String[] mName = {"宇智波佐助","宇智波带土","宇智波班","宇智波鼬","宇智波马"}; private String[] mSpeech = {"天晴了,雨停了,我又觉得我行了","琳,我要创造一个有你的世界。","你也想起舞吗","愚蠢的欧豆豆哟","我的痛苦在你之上"};
2.将布局文件解析为一个对象
在onCreateView
方法中,首先通过LayoutInflater
的inflate
方法将布局文件fragment_wx.xml
解析为一个View
对象rootView
。然后,通过findViewById
方法找到布局中的ListView
控件,并将其赋值给mLV
。
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreate(savedInstanceState); View rootView = inflater.inflate(R.layout.fragment_wx, container, false); mLV = rootView.findViewById(R.id.lv);
3.创建一个空对象来存储聊天列表里的项。
接下来,创建一个空的ArrayList
对象mList
,用于存储聊天列表中的项。通过一个循环,向mList
中添加20个Map
对象,每个Map
对象包含三个键值对,分别是"img"
、"title"
和"content"
,对应的值分别是mImgs
、mName
和mSpeech
数组中的元素,其中i%5
用于循环使用这些数组中的元素。
mList = new ArrayList<>(); for (int i = 0; i < 20; i++){ Map<String, Object> map = new HashMap<>(); map.put("img",mImgs[i%5]); map.put("title",mName[i%5]); map.put("content",mSpeech[i%5]); mList.add(map); }
4.创建一个对象用于将数据绑定到每个项
然后,创建一个SimpleAdapter
对象mSL
,用于将mList
中的数据绑定到ListView
中的每个项。SimpleAdapter
的构造函数接收一个Context
对象(这里使用getContext
方法获取),一个List
对象(mList
),一个布局文件(simplelist_item.xml
),以及两个数组,分别指定了Map
对象中的键和布局文件中的控件ID。
mSL = new SimpleAdapter( getContext(), mList, R.layout.simplelist_item, new String[]{"img","title","content"}, new int[]{R.id.iv, R.id.tv_title,R.id.tv_content} );
5.显示聊天列表
最后,通过mLV
的setAdapter
方法将mSL
对象设置为ListView
的适配器,用于显示聊天列表,并返回rootView
作为Fragment的视图。
mLV.setAdapter(mSL); return rootView; } }
6.运行结果
总结
以上就是今天要讲的内容,本文仅仅简单介绍了怎么在Fragment类里创建显示一个聊天列表的Fragment。