這篇文章將為大家詳細(xì)講解有關(guān)Android如何實現(xiàn)ListView的點擊變色,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)主營泰和網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),泰和h5小程序定制開發(fā)搭建,泰和網(wǎng)站營銷推廣歡迎泰和等地區(qū)企業(yè)咨詢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是什么Android是一種基于Linux內(nèi)核的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機和平板電腦,由美國Google公司和開放手機聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。
關(guān)于“Android如何實現(xiàn)ListView的點擊變色”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。