Android如何实现部分布局监听ListView
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,今天小编给大家分享一下Android如何实现部分布局监听ListView的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有
千家信息网最后更新 2025年02月22日Android如何实现部分布局监听ListView
今天小编给大家分享一下Android如何实现部分布局监听ListView的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
android listview 部分布局监听,很多人会想,直接在适配器里面,拿到那个布局,添加点击事件就可以了,不过我会告诉你的是这时候position是错乱的,是无法根据用户点击的位置来对每个item进行相应的逻辑操作。 同事给我想到的一个办法是:给每个布局提前设置一个tag,也就是绑定对应需要设置的数据,在点击事件的时候,会有一个view,根据该view重新拿到这个tag,取得里面的数据,就可以了,防止错乱的问题,成功解决,大概的代码如下,因为加密的需要,很多代码省略:
// 适配器public class OrAdapter extends BaseAdapter { @Override public int getCount() { return dataMap.size(); } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = null; if (convertView == null) { viewHolder = new ViewHolder(); convertView = getActivity().getLayoutInflater().inflate( R.layout.activity_order_item, null); initViewHolder(convertView, viewHolder, position); } else { viewHolder = (ViewHolder) convertView.getTag(); } refreshViewHolder(position, viewHolder); return convertView; } private String getTag(String orderId, String instrument) { StringBuilder sb = new StringBuilder(); sb.append(orderId).append(";").append(instrument); return sb.toString(); } private void refreshViewHolder(int position, ViewHolder viewHolder) { // ------------------为了防止item被复用------------------ viewHolder.modeifyorder.setTag(getTag(orderid, instrument)); } private void initViewHolder(View convertView, ViewHolder viewHolder, final int position) { viewHolder.modeifyorder = (RelativeLayout) convertView .findViewById(R.id.modeifyorder); viewHolder.modeifyorder.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { int isman = (Integer) dataMap.get(position).get("ismanual"); int isprice = (Integer) dataMap.get(position).get( "ispricereached"); String tag = v.getTag().toString(); String tagVec[] = tag.split(";"); long orderId = Long.parseLong(tagVec[0]); String instStr = tagVec[1]; } }); convertView.setTag(viewHolder); } private class ViewHolder { TextView orderid; RelativeLayout modeifyorder; }}
以上就是"Android如何实现部分布局监听ListView"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
布局
知识
篇文章
部分
监听
错乱
事件
代码
内容
数据
适配器
逻辑
适配
不同
很大
成功
也就是
位置
办法
同事
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何查看有没有数据库
数据库提供程序
德州网络安全宣传活动
杭州app软件开发公司
蜀山区整机销售软件开发公司
电脑访问不了服务器数据库
mssql数据库下载
电脑上数据库查询的符号
flatfile数据库格式
php数据库操作实例
怎样把服务器共享到外网
深圳乐刻网络技术有限公司安
网易云邮箱显示对方服务器未响应
家政小程序用主机好还是服务器好
网络安全部队提供保护
小学生网络安全 案例
中创网络技术有限公司
银川电力需求侧管理软件开发
软件开发进度及费用预算
糖果派对2破解软件开发
软件开发哪一种比较好
河南计算网络技术
微星1361服务器主板
数据库原理教程pdf
温州计算机前端软件开发
数据库中两个数据表匹配
管家婆做服务器安全吗
服务器kvm
数据库中的时间用什么数据类型
数据库导入spark