编辑:找一个 “开箱即用” 的帖子的末尾例子!

因为你看到多行受到影响我猜它有些事情要做系统如何回收资源,也许对Button的引用是不明确的。

我不确定我在哪里选择了这种做法(Android教程或我们以前的开发人员通过这些教程学习了Android)。然而,建议是使用一个嵌套类ViewHolder

private static class ViewHolder {

public Button processCheck;

}

将此放在适配器或任何类的getView()在声明并修改它是这样:

public View getView(int position, View convertView, ViewGroup parent) {

View v = convertView;

$ViewHolder viewHolder; //wait for the magic!

if (v == null) {

v = li.inflate(R.layout.process_row, null);

$viewHolder = new ViewHolder();

$viewHolder.processCheck = (Button) v.findViewById(R.id.processCheck);

$v.setTag(viewHolder);

//ok we somewhat stuffed an object with the Button into our View... so what?

}

$viewHolder = (ViewHolder) v.getTag();

//see explanation below

$viewHolder.processCheck.setOnClickListener(new View.OnClickListener() {

//set the onClickListener for this and only this button.

@Override

public void onClick(View v) {

if (process.isChecked() == false) {

process.setChecked(true);

processCheck.setBackgroundColor(Color.BLUE);

}

else {

process.setChecked(false);

processCheck.setBackgroundColor(Color.RED);

}

}

});

return v;

}

(我打上$变化。我认为这样他们应该很容易发现,如果我使用eclipse。否则查找+替换^^)

因此​​将返回一个与调用的视图关联的对象。对象是如此令人难以置信的泛型,您可以将其称为您创建的ViewHolder对象。因此,您可以引用按钮并将其存储在对象中。

现在,无论何时获得ListView,都可以检索对象并设置新鲜和新鲜的OnclickListener。这样你只有一个Listener被调用。

请注意,您不必再次致电v.setTag();来“保存”您的更改。

一个陷阱可能是如果你疯狂的东西,像在同一个列表中膨胀不同的布局,有什么理由。你也许会不同ViewHandlers分配给他们,如:

if (v == null) {

if(someCriteria) {

v = li.inflate(R.layout.process_row, null);

viewHolder = new ViewHolder();

}

v = li.inflate(R.layout.process_another_row, null);

viewHolder = new AnotherViewHolder();

}

随后的getView()一个ViewHolder或其他未经检查的通话可能会在运行时抛出一个错误!

Android怎么自定义listview布局,Android ListView自定义布局相关推荐

  1. Android怎么自定义listview布局,android – 如何将listView标头添加为自定义布局

    我想在listView中添加标题我尝试这样我在这里缺少的ids很好. 我在片段中使用它. ListView lv; LinearLayout header = (LinearLayout) rootV ...

  2. Android 常见界面控件(ListView、RecyclerView、自定义View篇)

    Android 常见界面控件(ListView.RecyclerView.自定义View篇) 目录 3.3 ListView的使用 3.3.1 ListView控件的简单使用 3.3.2 常用数据适配 ...

  3. Android中ListView与RadioButton结合----自定义单选列表

    有时候我们需要制作自定义的单选列表,但是会遇到一些问题,比如多选,假选问题,所以网上找了找资料,整理一个demo出来,贴一下代码: [html] view plaincopy <ListView ...

  4. android listview 美化,Android界面美化 -- 自定义ListView分割线

    ListView默认的分割线 ListView会在item之间添加一个默认的分割线.在XML中添加一个ListView,其对应的属性如下. 可以看到ListView默认样式中设置了一个Divider, ...

  5. Android代码 listview选中,android自定义listview的选中状态

    中心思想:将选中状态设置为完全透明色(即看不到自定义的选中状态)然后将listview 的每一项的背景设置为选中则切换背景 1,选择2个图片一个为一般的显示状态,另一张为选中状态的图片 在drawab ...

  6. android 横向滚轮控件,Android滚轮控件,基于ListView实现,可以自定义样式。

    Android滚轮控件,基于ListView实现,可以自定义样式. Features 支持自定义滚轮样式 支持common和holo两种皮肤 支持文本和图文混排两中数据模版 支持循环显示数据 支持选中 ...

  7. Android新浪微博分页加载,Android仿新浪微博自定义ListView下拉刷新(4)

    自定义PullToRefreshListView继承ListView,在ListView头部添加一个下拉的头部布局.跟ListView用法完全一致. 此处详细介绍Adapter的详细代码. 1.首先给 ...

  8. android listview 自定义控件,Android 自定义弹性ListView控件实例代码(三种方法)

    关于在Android中实现ListView的弹性效果,有很多不同的方法,网上一搜,也有很多,下面贴出在项目中经常用到的两种实现ListView弹性效果的方法(基本上拿来就可以用),供大家参考: 弹性L ...

  9. Android怎么自定义布局,Android 创建自定义的布局

    为可穿戴设备创建布局是和手持设备是一样的,除了我们需要为屏幕的尺寸和glanceability进行设计.但是不要期望通过搬迁手持应用的功能与UI到可穿戴上会有一个好的用户体验.仅仅在有需要的时候,我们 ...

  10. android仿qq布局,Android自定义布局实现仿qq侧滑部分代码

    自定义布局实现仿qq侧滑部分android代码,供大家参考,具体内容如下 实现说明: 通过自定义布局实现: slidinglayout继承于 horizontalscrollview /** * cr ...

最新文章

  1. python常用指令-Pytes及Allure常用命令
  2. c语言编程将图片上下翻转,C语言实现矩阵翻转(上下翻转、左右翻转)
  3. JAVA数据结构与算法【稀疏数组】
  4. 人工智能诗歌写作平台_智能写作VS人工写作,Giiso写作机器人解放你的创造力...
  5. 高端ERP软件市场漫谈:崇洋无罪 自重有理
  6. php返回支付状态,magento paypal返回支付状态
  7. 到 2022 年,75% 的数据库将托管在云端
  8. _过程_函数_触发器_游标
  9. python AES对称加密文件、解密文件
  10. Boyer-Moore-Horspool-Sunday 算法
  11. 2017计算机办公自动化试题,2017办公自动化考试试题
  12. 阿里巴巴-码出高效+阿里巴巴Java开发手册(华山版)PDF下载
  13. 中国电信向小米释放善意,高度认可它的5G性能领先而不是华为
  14. 青梅酒太多不知该怎么选?记得你爱吃 的口味就可以
  15. 九龙证券|近200家机构组团调研,这些机构密集调研股稳增长低估值
  16. Oracle 19c VLDB and Partitioning Guide 第5章:管理和维护基于时间的信息 读书笔记
  17. php股票t 0,股票T+0是什么意思?如何看懂股票T+0?
  18. 使用 Nginx 如何部署 web 项目
  19. 5mm超厚“爱马仕”羊毛袜!堪比足底小太阳,抗寒-10℃,99%抑菌防臭不闷汗!...
  20. KMeans聚类 K值的确定以及初始类簇中心点的选取

热门文章

  1. CAP-分布式事务的解决方案
  2. windows服务autofac注入quartz任务
  3. NET问答:在 Linq 查询中可以处理异常吗?
  4. .NET Core 下使用 Exceptionless 记录日志
  5. 数据库单表千万行 LIKE 搜索优化手记
  6. 【Azure Show】|第三期 人工智能大咖与您分享!嘉宾陈海平胡浩陈堰平
  7. 《ASP.NET Core 微服务实战》-- 读书笔记(第6章)
  8. Asp.NET Core 轻松学-项目目录和文件作用介绍
  9. 花5分钟时间来了解一下高性能网关Kong会有意外收获
  10. PCB 机器学习(ML.NET)初体验实现PCB加投率预测