Android ListView ImageView實現(xiàn)單選按鈕實例
做Android開發(fā)兩年的時間,技術(shù)稍稍有一些提升,剛好把自己實現(xiàn)的功能寫出來,記錄一下,如果能幫助到同行的其他人,我也算是做了件好事,哈哈?。U話不多說,先上個圖。

先上一段代碼:
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中記錄一下默認的位置,因為本人在項目中搭建了一個ListViewAdapter的抽象類,所以每次在使用時只需要直接在Activity中new一下,然后直接在方法里面設置文本內(nèi)容或者圖片資源(如上面的代碼的寫法),以后會跟大家分享這個抽象類,當然,這個抽象類還是在高手的指導下完成的,大伙可以忽略我這種寫法,就按照正常的BaseAdapter上面寫就行了。扯遠了,說回主題。其實整個功能的主要部分在ListView的Item點擊事件中,其主要代碼如下:
lv_choosecompany.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
//把當前選中的條目加上選中效果
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位置和當前位置不同
new_imageView.setImageResource(R.mipmap.ic_button_unchecked);//把上次選中的樣式去掉
}
new_imageView = old_imageView;//把當前的條目保存下來
lastposition = position;//把當前的位置保存下來
listViewAdapter.notifyDataSetChanged();
}
});
整體流程差不多就是這個樣子,如果想保留選中以后的文本信息,只需要在點擊的時候,將TextView的內(nèi)容保存下來即可,這里就不在展示代碼,不足的地方還請同行們多多指教。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
解決Android Studio 出現(xiàn)“Cannot resolve symbo
今天在調(diào)試的時候,Android Studio報了一個莫名其妙的錯誤Cannot resolve symbol'R'讓人不知所措,因為這東西根本不歸我管啊,怎么會出現(xiàn) Cannot resolve symbol 這種錯誤呢?下面給大家分享Android Studio 出現(xiàn)“Cannot resolve symbol”解決方案,需要的朋友可以參考下2023-03-03
詳解如何使用Android Studio 進行NDK開發(fā)和調(diào)試
本篇文章主要介紹了詳解如何使用Android Studio 進行NDK開發(fā)和調(diào)試,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
Android從系統(tǒng)Gallery獲取圖片具體實現(xiàn)
這篇文章主要介紹了Android從系統(tǒng)Gallery獲取圖片具體實現(xiàn),有需要的朋友可以參考一下2013-12-12
Android開發(fā)Jetpack組件Lifecycle原理篇
Retrofit2.0添加Header的方法總結(jié)(推薦)

