Android ListView怎么实现微信聊天界面
发表于:2024-11-16 作者:千家信息网编辑
千家信息网最后更新 2024年11月16日,这篇文章主要介绍"Android ListView怎么实现微信聊天界面",在日常操作中,相信很多人在Android ListView怎么实现微信聊天界面问题上存在疑惑,小编查阅了各式资料,整理出简单好
千家信息网最后更新 2024年11月16日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安全错误
数据库的锁怎样保障安全
ios软件开发工程师月薪
王树彤谈互联网科技
促进网络安全和信息化工作的措施
派盾网络安全
常州工程管理软件开发平台
上海科善网络技术有限公司
车型信息数据库
河南计算机网络技术试题
微信域名服务器申诉网址
福州金鑫网络技术有限公司
大学生网络安全知识问答
高校校园网络安全课程设计
switch哪个服务器不卡
北京嵌入式软件开发中心
全县网络安全和信息化
市轨道集团开展网络安全培训
显示无法访问服务器006
版纳互联网科技好吗
服务器能打开ftp吗
不同电脑连接数据库
中国电信服务器超聚变
查询数据库驱动语句
大学生网络安全发言
酒店网络安全密钥是什么
招联消费金融的软件开发怎么样
老男孩网络安全课
网络安全法法自起施行
小学生网络安全队会记录
国产数据库的使命感
邢台软件开发参考价