Android ListView怎么实现微信聊天界面
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,这篇文章主要介绍"Android ListView怎么实现微信聊天界面",在日常操作中,相信很多人在Android ListView怎么实现微信聊天界面问题上存在疑惑,小编查阅了各式资料,整理出简单好
千家信息网最后更新 2025年01月22日Android ListView怎么实现微信聊天界面
这篇文章主要介绍"Android ListView怎么实现微信聊天界面",在日常操作中,相信很多人在Android ListView怎么实现微信聊天界面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Android ListView怎么实现微信聊天界面"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
效果图如下
1.首先页面总布局(ListView + LinearLayout(TextView+Button))
2.为ListView定制Adapter
public class MsgAdapter extends ArrayAdapter{ private int resourceID; public MsgAdapter(Context context, int resource, List objects) { super(context, resource, objects); resourceID = resource; } @Override public View getView(int position, View convertView, ViewGroup parent) { Msg msg = getItem(position); View view; ViewHolder viewHolder; if(convertView == null) { view = LayoutInflater.from(getContext()).inflate(resourceID, null); viewHolder = new ViewHolder(); viewHolder.leftLayout = (LinearLayout)view.findViewById(R.id.left_layout); viewHolder.rightLayout = (LinearLayout) view.findViewById(R.id.right_layout); viewHolder.leftMsg = (TextView) view.findViewById(R.id.left_msg); viewHolder.rightMsg = (TextView) view.findViewById(R.id.right_msg); view.setTag(viewHolder); }else { view = convertView; viewHolder = (ViewHolder) view.getTag(); } if(msg.getType() == Msg.MSG_RECEIVE) { viewHolder.leftLayout.setVisibility(View.VISIBLE); viewHolder.rightLayout.setVisibility(View.GONE); viewHolder.leftMsg.setText(msg.getMessage()); }else { viewHolder.rightLayout.setVisibility(View.VISIBLE); viewHolder.leftLayout.setVisibility(View.GONE); viewHolder.rightMsg.setText(msg.getMessage()); } return view; } class ViewHolder { LinearLayout leftLayout; LinearLayout rightLayout; TextView leftMsg; TextView rightMsg; } }
public class Msg { public static final int MSG_RECEIVE = 0; public static final int MSG_SEND = 1; private int type; private String content; public Msg(String content, int type) { this.content = content; this.type = type; } public String getMessage() { return content; } public int getType() { return type; }}
3.ListView单个view布局
4.ListView加载Adapter
public class MainActivity extends Activity { private ListView listView; private MsgAdapter msgAdapter; private ListmsgList = new ArrayList (); private EditText input; private Button send; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.msg_list_view); initMsg(); msgAdapter = new MsgAdapter(this, R.layout.msg_item, msgList); listView.setAdapter(msgAdapter); input = (EditText) findViewById(R.id.input_text); send = (Button) findViewById(R.id.send); send.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String message = input.getText().toString(); if(!"".equals(message)) { Msg msg = new Msg(message, Msg.MSG_SEND); msgList.add(msg); msgAdapter.notifyDataSetChanged();//当有新消息时刷新 listView.setSelection(msgList.size()); }else { Toast.makeText(MainActivity.this, "input can"t be empty", Toast.LENGTH_SHORT).show(); } input.setText(""); } }); } private void initMsg() { Msg msg; msg = new Msg("Hi, boy", Msg.MSG_RECEIVE); msgList.add(msg); msg = new Msg("Hi, girl", Msg.MSG_SEND); msgList.add(msg); msg = new Msg("what"s up", Msg.MSG_RECEIVE); msgList.add(msg); }}
到此,关于"Android ListView怎么实现微信聊天界面"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
界面
学习
布局
更多
帮助
实用
接下来
单个
效果
效果图
文章
方法
消息
理论
知识
篇文章
网站
资料
跟着
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器为什么耗电量大
一呼百应网络技术公司怎么样
网站图片怎么缓存到服务器
新乐小型企业财务软件网络技术
公网服务器如何设置4g
开学第一课网络安全教育
潍坊潍信软件开发有限公司
延安住宿软件开发
落实网络安全法存在的风险
政务系统数据库
网络安全工程师考试资格
数据库中文本型编号为
典型地物标准波谱数据库
网易数据库泄漏
数据库中视图有什么好处
ui设计学什么软件开发
数据库充值系统设计
网络技术毕业论文课题
vast服务器
通用软件开发工程师干啥的
探途网络技术有限公司股票
黄岛区软件开发公司
云南网络安全专业研究生招收分数
上海等离子套料软件开发商
软件开发著作权如何退税
山东省高考填报志愿的网络安全性
软件开发有哪些竞争
三一集团面试软件开发
三校生计算机网络技术
异幻之地如何转换服务器