Android ListView ImageView實(shí)現(xiàn)單選按鈕實(shí)例
做Android開(kāi)發(fā)兩年的時(shí)間,技術(shù)稍稍有一些提升,剛好把自己實(shí)現(xiàn)的功能寫(xiě)出來(lái),記錄一下,如果能幫助到同行的其他人,我也算是做了件好事,哈哈?。U話不多說(shuō),先上個(gè)圖。
先上一段代碼:
1 if (lastposition == position){ 2 viewHolder.setImageResource(R.id.iv_yuandian1,R.mipmap.ic_button_checked); 3 } else { 4 viewHolder.setImageResource(R.id.iv_yuandian1,R.mipmap.ic_button_unchecked); 5 }
我先在Adapter中記錄一下默認(rèn)的位置,因?yàn)楸救嗽陧?xiàng)目中搭建了一個(gè)ListViewAdapter的抽象類(lèi),所以每次在使用時(shí)只需要直接在Activity中new一下,然后直接在方法里面設(shè)置文本內(nèi)容或者圖片資源(如上面的代碼的寫(xiě)法),以后會(huì)跟大家分享這個(gè)抽象類(lèi),當(dāng)然,這個(gè)抽象類(lèi)還是在高手的指導(dǎo)下完成的,大伙可以忽略我這種寫(xiě)法,就按照正常的BaseAdapter上面寫(xiě)就行了。扯遠(yuǎn)了,說(shuō)回主題。其實(shí)整個(gè)功能的主要部分在ListView的Item點(diǎn)擊事件中,其主要代碼如下:
lv_choosecompany.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { //把當(dāng)前選中的條目加上選中效果 old_imageView = (ImageView) view.findViewById(R.id.iv_yuandian1); old_imageView.setImageResource(R.mipmap.ic_button_checked); new_imageView = (ImageView)view.findViewById(R.id.iv_yuandian1); if (lastposition != -1 && lastposition != position){ //如果已經(jīng)單擊過(guò)條目并且上次保存的item位置和當(dāng)前位置不同 new_imageView.setImageResource(R.mipmap.ic_button_unchecked);//把上次選中的樣式去掉 } new_imageView = old_imageView;//把當(dāng)前的條目保存下來(lái) lastposition = position;//把當(dāng)前的位置保存下來(lái) listViewAdapter.notifyDataSetChanged(); } });
整體流程差不多就是這個(gè)樣子,如果想保留選中以后的文本信息,只需要在點(diǎn)擊的時(shí)候,將TextView的內(nèi)容保存下來(lái)即可,這里就不在展示代碼,不足的地方還請(qǐng)同行們多多指教。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
解決Android Studio 出現(xiàn)“Cannot resolve symbo
今天在調(diào)試的時(shí)候,Android Studio報(bào)了一個(gè)莫名其妙的錯(cuò)誤Cannot resolve symbol'R'讓人不知所措,因?yàn)檫@東西根本不歸我管啊,怎么會(huì)出現(xiàn) Cannot resolve symbol 這種錯(cuò)誤呢?下面給大家分享Android Studio 出現(xiàn)“Cannot resolve symbol”解決方案,需要的朋友可以參考下2023-03-03詳解如何使用Android Studio 進(jìn)行NDK開(kāi)發(fā)和調(diào)試
本篇文章主要介紹了詳解如何使用Android Studio 進(jìn)行NDK開(kāi)發(fā)和調(diào)試,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Android從系統(tǒng)Gallery獲取圖片具體實(shí)現(xiàn)
這篇文章主要介紹了Android從系統(tǒng)Gallery獲取圖片具體實(shí)現(xiàn),有需要的朋友可以參考一下2013-12-12Android通過(guò)startService播放背景音樂(lè)
這篇文章主要介紹了Android通過(guò)startService播放背景音樂(lè)簡(jiǎn)單示例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-12-12

藍(lán)牙原理Android代碼實(shí)現(xiàn)

Android開(kāi)發(fā)Jetpack組件Lifecycle原理篇

Android學(xué)習(xí)筆記——Menu介紹(三)

Retrofit2.0添加Header的方法總結(jié)(推薦)

如何在android中制作一個(gè)方向輪盤(pán)詳解