Android 實現(xiàn)ListView的點擊變色的實例
我做了一個音樂播放器,其中用ListView顯示歌曲列表,當(dāng)我點擊某一首歌時,希望這首歌所在的item的背景顏色改變,以突出顯示所選擇的歌曲。
首先我想到的是在ItemClickListener里面寫,如下:
private View formerView=null; private class ListViewClickListener implements OnItemClickListener{ @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { if(formerView!=null){ formerView.setBackgroundColor(formerView.getResources().getColor(R.color.background_white)); } arg1.setBackgroundColor(arg1.getResources().getColor(R.color.item_blue)); formerView=arg1; } } 當(dāng)選中一個item,就改變顏色,接著又選中一個item的時候,將前一個item還原為之前的顏色。但是我發(fā)現(xiàn)一個問題,就是當(dāng)我選中一個item的時候,不止這一個item的顏色會改變,往下滑動發(fā)現(xiàn)后面還有幾個item的顏色也被改變了。是不是onItemClick方法里面的View arg1這個參數(shù)是隨著屏幕上顯示的內(nèi)容改變而變化的呢?我不敢亂說,但這個辦法是行不通的。
后來發(fā)現(xiàn)原來有一個非常簡單的辦法,Android早已想到了我們會需要這個功能,直接提供了一個方法實現(xiàn)這個功能。
localMusicListView.setSelector(R.color.item_blue);
直接給ListView添加這樣一個方法即可。完美實現(xiàn)這個功能。
以上就是Android listview 點擊變色的實現(xiàn),本站關(guān)于Android 開發(fā)的文章還有很多,希望大家搜索查閱,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答
圖片精選