gpt4 book ai didi

Android在listview添加checkbox实现原理与代码

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Android在listview添加checkbox实现原理与代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

主界面checkboxinlistviewactivity.java代码如下:

复制代码 代码如下

public class checkboxinlistviewactivity extends activity { /** called when the activity is first created. */ private myadapter adapter; private listview listview; private button checkall; private button nocheckall; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); listview = (listview)findviewbyid(r.id.listview); checkall = (button)findviewbyid(r.id.button1); nocheckall = (button)findviewbyid(r.id.button2); adapter = new myadapter(); listview.setadapter(adapter); checkall.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { adapter.checkall(); } }); nocheckall.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { adapter.nocheckall(); } }); } private class myadapter extends baseadapter{ private arraylist<message> list= new arraylist<message>(); public myadapter(){ for(int i = 1 ;i<=100 ; i++){ list.add(new message("item_"+i)); } } public void checkall(){ for(message msg:list){ msg.ischeck = true; } notifydatasetchanged(); } public void nocheckall(){ for(message msg:list){ msg.ischeck = false; } notifydatasetchanged(); } @override public int getcount() { return list.size(); } @override public object getitem(int position) { return null; } @override public long getitemid(int position) { return 0; } @override public view getview(int position, view convertview, viewgroup parent) { viewholder viewholder; if(convertview == null){ layoutinflater inflater = layoutinflater.from(checkboxinlistviewactivity.this); convertview = inflater.inflate(r.layout.listview_item, null); viewholder = new viewholder(); viewholder.checkbox = (checkbox)convertview.findviewbyid(r.id.checkbox1); convertview.settag(viewholder); }else{ viewholder = (viewholder)convertview.gettag(); } final message msg = list.get(position); viewholder.checkbox.settext(msg.str); viewholder.checkbox.setchecked(msg.ischeck); //注意这里设置的不是oncheckedchanglistener,还是值得思考一下的 viewholder.checkbox.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { if(msg.ischeck){ msg.ischeck = false; }else{ msg.ischeck = true; } } }); return convertview; } } private class viewholder{ checkbox checkbox; } } 。

适配器所适配的消息message.java如下:

复制代码 代码如下

public class message { public boolean ischeck; public string str; public message(string str){ this.str = str; } } 。

main.xml代码如下:

复制代码 代码如下

<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <linearlayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <button android:text="全选" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></button> <button android:text="撤消" android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content"></button> </linearlayout> <listview android:id="@+id/listview" android:layout_height="fill_parent" android:layout_width="fill_parent" /> </linearlayout> 。

listview_item.xml代码如下:

复制代码 代码如下

<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:descendantfocusability="blocksdescendants" > <linearlayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center"> <checkbox android:text="checkbox" android:id="@+id/checkbox1" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </linearlayout> </linearlayout> 。

囧神的世界你不懂,虫哥的生活你没有,只有程序猿的世界大家才知道。程序猿们,为了自己的精彩世界奋斗吧,努力吧!加油…… 。

最后此篇关于Android在listview添加checkbox实现原理与代码的文章就讲到这里了,如果你想了解更多关于Android在listview添加checkbox实现原理与代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com