最简便实现Android ListView选中item高亮显示

最近在使用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如下:



	
	
	
	




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



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

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

 

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

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

	}



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


你可能感兴趣的:(最简便实现Android ListView选中item高亮显示)