十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
這篇文章主要介紹“Android中如何實(shí)現(xiàn)帶圖片和checkbox的listview”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Android中如何實(shí)現(xiàn)帶圖片和checkbox的listview”文章能幫助大家解決問(wèn)題。
目前成都創(chuàng)新互聯(lián)公司已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、北流網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
先新建一個(gè)MyAdapter類,繼承自BaseAdapter。在MyAdapter中實(shí)現(xiàn)對(duì)數(shù)據(jù)的綁定,我這兒由于是測(cè)試的,所以把數(shù)據(jù)寫(xiě)死了。
Java代碼
package com.zwq.umeng; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.ImageView; import android.widget.TextView; public class MyAdapter extends BaseAdapter { private LayoutInflater mInflater; private List
上面類中要注意getView()方法中對(duì)數(shù)據(jù)的處理。
接下要新建一個(gè)list.xml文件,這個(gè)就是布局image、textview、checkbox。
Java代碼
android:layout_weight="1"這一句可以使中間的textview權(quán)重增大,從而后面的checkbok可以居右顯示。
android:focusable="false" android:focusableInTouchMode="false" android:clickable="false"
這三句很重要,如果不加就會(huì)出現(xiàn)錯(cuò)誤。
由于checkbox的點(diǎn)擊事件優(yōu)先級(jí)比listview的高,所以要在checkbox中添加android:focusable="false",使得checkbox初始的時(shí)候沒(méi)有獲取焦點(diǎn)。
接下來(lái)在main.xml中添加Listview組件
Java代碼
接下來(lái)就是在activity中調(diào)用:
Java代碼
list=(ListView)findViewById(R.id.lv); MyAdapter adapter=new MyAdapter(this); list.setAdapter(adapter); list.setItemsCanFocus(false); list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); list.setOnItemClickListener(new OnItemClickListener(){ @Override public void onItemClick(AdapterView> parent, View view, int position, long id) { ViewHolder vHollder = (ViewHolder) view.getTag(); //在每次獲取點(diǎn)擊的item時(shí)將對(duì)于的checkbox狀態(tài)改變,同時(shí)修改map的值。 vHollder.cBox.toggle(); MyAdapter.isSelected.put(position, vHollder.cBox.isChecked()); } });
看一下效果圖:
要獲取哪些項(xiàng)目被選擇了,可以這樣測(cè)試:
Java代碼
OnClickListener bPop = new OnClickListener() { @Override public void onClick(View v) { for(int i=0;i關(guān)于“Android中如何實(shí)現(xiàn)帶圖片和checkbox的listview”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
網(wǎng)頁(yè)標(biāo)題:Android中如何實(shí)現(xiàn)帶圖片和checkbox的listview
新聞來(lái)源:http://m.jiaotiyi.com/article/gejjig.html