最近在使用Android的ListView时发现点击其子项后,虽然瞬间会有高亮效果,但其效果并不能保留,尤其是点击触发进一步操作,例如打开新的Activity再返回,这样的高亮就完全消失了。


经过研究,发现篇文章比较有借鉴意义:http://android-codes-examples.blogspot.com/2011/03/customized-listview-items-selection.html


进一步,深入探究android.R.layout.simple_list_item_activated_1,发现实现这个功能其实可以非常简单,可以这样实现:


1) 在res\drawable下定义一个文件,例如list_item_backgroud.xml如下:

<?xml version="1.0" encoding="utf-8"?>

2) 在res\layout\定义Item的layout,例如list_item.xml如下:

<?xml version="1.0" encoding="utf-8"?>

3)在Activity中,为ListView添加如下Adapter即可:

adapter = new ArrayAdapter(this, R.layout.list_item, books);

 

4) 差点忘了,在onListItemClick中加入setSelected:

@Overrideprotected void onListItemClick(ListView l, View v, int position, long id){super.onListItemClick(l, v, position, id);v.setSelected(true);}



效果如图,值得一提的是,离开ListView所在的Activity,然后再返回,之前的Item依然会是Selected,所以高亮效果依旧。


更多相关文章

  1. NDROID中LISTVIEW仿QQ群组向上滚动特效
  2. Android(安卓)API Demos学习(4) - Receive Result
  3. [置顶] 【Android】 给我一个Path,还你一个酷炫动画
  4. 研究Android事件分发笔记
  5. Android(安卓)搜索结果关键字动态匹配筛选变色效果且高亮显示
  6. 30分钟弄明白Touch事件分发机制
  7. Android设计——Activity和Task的设计思路和方法
  8. Android(安卓)WebView 的回退方法(goback) 遭遇重定向
  9. Android通用可自定义下拉刷新上拉加载组件PopularRefreshLayout

随机推荐

  1. 【安卓开发学习】6.ListView点击事…
  2. Android移植oprofile性能监测工具
  3. Real6410 Android(安卓)2.1 的 SDIO WiFi
  4. Ubuntu 环境下Android-NDK独立工具链安装
  5. android AlertDialog对话框
  6. Android(安卓)Caused by: java.lang.Ille
  7. Android(安卓)Base64加密解密
  8. Android(安卓)如何关闭Navigation Bar M
  9. Ophone倒转屏幕自适应问题
  10. 基于Intel x86 Android的RAD游戏开发