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 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開發(fā)和調(diào)試
本篇文章主要介紹了詳解如何使用Android Studio 進(jìn)行NDK開發(fā)和調(diào)試,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12Android從系統(tǒng)Gallery獲取圖片具體實(shí)現(xiàn)
這篇文章主要介紹了Android從系統(tǒng)Gallery獲取圖片具體實(shí)現(xiàn),有需要的朋友可以參考一下2013-12-12

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

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

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

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