这篇文章给大家介绍Android中怎么实现带图片和checkbox的listview,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
南澳网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
先新建一个MyAdapter类,继承自BaseAdapter。在MyAdapter中实现对数据的绑定,我这儿由于是测试的,所以把数据写死了。
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()方法中对数据的处理。
接下要新建一个list.xml文件,这个就是布局image、textview、checkbox。
Java代码
android:layout_weight="1"这一句可以使中间的textview权重增大,从而后面的checkbok可以居右显示。
android:focusable="false" android:focusableInTouchMode="false" android:clickable="false"
这三句很重要,如果不加就会出现错误。
由于checkbox的点击事件优先级比listview的高,所以要在checkbox中添加android:focusable="false",使得checkbox初始的时候没有获取焦点。
接下来在main.xml中添加Listview组件
Java代码
接下来就是在activity中调用:
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(); //在每次获取点击的item时将对于的checkbox状态改变,同时修改map的值。 vHollder.cBox.toggle(); MyAdapter.isSelected.put(position, vHollder.cBox.isChecked()); } });
***看一下效果图:
要获取哪些项目被选择了,可以这样测试:
Java代码
OnClickListener bPop = new OnClickListener() { @Override public void onClick(View v) { for(int i=0;i关于Android中怎么实现带图片和checkbox的listview就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
当前名称:Android中怎么实现带图片和checkbox的listview
文章起源:http://chengdu.cdxwcx.cn/article/jegsec.html