Android ListView ImageView實(shí)現(xiàn)單選按鈕實(shí)例
做Android開發(fā)兩年的時(shí)間,技術(shù)稍稍有一些提升,剛好把自己實(shí)現(xiàn)的功能寫出來,記錄一下,如果能幫助到同行的其他人,我也算是做了件好事,哈哈??!廢話不多說,先上個(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的抽象類,所以每次在使用時(shí)只需要直接在Activity中new一下,然后直接在方法里面設(shè)置文本內(nèi)容或者圖片資源(如上面的代碼的寫法),以后會(huì)跟大家分享這個(gè)抽象類,當(dāng)然,這個(gè)抽象類還是在高手的指導(dǎo)下完成的,大伙可以忽略我這種寫法,就按照正常的BaseAdapter上面寫就行了。扯遠(yuǎn)了,說回主題。其實(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)單擊過條目并且上次保存的item位置和當(dāng)前位置不同
new_imageView.setImageResource(R.mipmap.ic_button_unchecked);//把上次選中的樣式去掉
}
new_imageView = old_imageView;//把當(dāng)前的條目保存下來
lastposition = position;//把當(dāng)前的位置保存下來
listViewAdapter.notifyDataSetChanged();
}
});
整體流程差不多就是這個(gè)樣子,如果想保留選中以后的文本信息,只需要在點(diǎn)擊的時(shí)候,將TextView的內(nèi)容保存下來即可,這里就不在展示代碼,不足的地方還請(qǐng)同行們多多指教。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Android實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)學(xué)生管理系統(tǒng)的相關(guān)代碼,供大家學(xué)習(xí)借鑒,感興趣的小伙伴們可以參考一下2016-03-03
Android Studio使用recyclerview實(shí)現(xiàn)展開和折疊功能(在之前的微信頁面基礎(chǔ)之上)
這篇文章主要介紹了Android Studio使用recyclerview實(shí)現(xiàn)展開和折疊(在之前的微信頁面基礎(chǔ)之上),本文通過截圖實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2020-03-03
解決webview調(diào)用goBack()返回上一頁自動(dòng)刷新閃白的情況
本文主要介紹了解決webview調(diào)用goBack()返回上一頁自動(dòng)刷新閃白的情況。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03
Android 8.0實(shí)現(xiàn)發(fā)送通知
這篇文章主要為大家詳細(xì)介紹了Android 8.0實(shí)現(xiàn)發(fā)送通知,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
Android 修改viewpage滑動(dòng)速度的實(shí)現(xiàn)代碼
由于Viewpager的滑動(dòng)速度是固定的,所以很頭疼,下面小編通過實(shí)例代碼給大家分享android 修改viewpage滑動(dòng)速度的方法,需要的朋友參考下吧2017-09-09
Android adb安裝apk時(shí)提示Invalid APK file的問題
這篇文章主要介紹了Android adb安裝apk時(shí)提示Invalid APK file的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Android 中在有序廣播中添加自定義權(quán)限的實(shí)例
這篇文章主要介紹了Android 中在有序廣播中添加自定義權(quán)限的實(shí)例的相關(guān)資料,這里對(duì)有序廣播的用法進(jìn)行了詳細(xì)介紹并附有簡(jiǎn)單實(shí)例,需要的朋友可以參考下2017-07-07
基于Rxjava實(shí)現(xiàn)輪詢定時(shí)器
這篇文章主要為大家詳細(xì)介紹了基于Rxjava實(shí)現(xiàn)輪詢定時(shí)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Android Studio多渠道打包、自定義打包APK名稱
Android Studio為我們提供了簡(jiǎn)便的方法,可以多渠道打包,一次打包所有的渠道包。這篇文章主要介紹了Android Studio多渠道打包、自定義打包APK名稱,需要的朋友可以參考下2018-01-01
Android studio點(diǎn)擊跳轉(zhuǎn)WebView詳解
這篇文章主要為大家詳細(xì)介紹了Android studio點(diǎn)擊跳轉(zhuǎn)WebView的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09

