`
cyhcheng
  • 浏览: 60277 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CheckBox与ListView的结合方法一

阅读更多

    最近这段时间比较闲,每天都无所事事。不再想重复这样的生活,于是申请了新的ITeye博客,给自己一个新的开始。今天是第一天写博客。
    在Android下,ListView是使用较为频繁的一个组件,经常和很多其他组件结合完成很多功能。下面是本人使用的方法之一,以后会陆续编写其他的结合方法。可能有些人认为没必要,但是本人做过一段时间讲师,再有就是打发无聊的日子,所以有时间就倒腾倒腾。不再废话了,代码如下:

    
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.util.SparseBooleanArray;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;

public class ListViewOfCheCheckBoxActivity extends Activity {
	private static final String TAG = ListViewOfCheCheckBoxActivity.class
			.getName();
	private ListView listView;
	private String items[] = { "Java编程思想", "程序员修炼之道", "JUnit实践","UML实践","Mysql","Oracle","PowerDesigner","PowerBuilder","Eclipse","Netbeans", "极限编程之我行",
			"Java网络编程", "Java并发编程", "Java算法", "性能分析","压力测试","软件工程","线性代数","微积分","离散数学","统计学","VM概述","操作系统原理","C语言","Spring","Hibernate","Spring MVC","Groovy","Grails","Struts2","Seam","JYpthon" };

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		final TextView messageTV = (TextView) findViewById(R.id.messageTV);
		Button printSelectedCheckBoxButton = (Button) findViewById(R.id.printSelectedCheckBoxButton);
		listView = (ListView) findViewById(R.id.simpleListViewOfCheckBox);
		listView.setAdapter(new ArrayAdapter<String>(this,
				android.R.layout.simple_list_item_multiple_choice, items));
		listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
		
		
		printSelectedCheckBoxButton.setOnClickListener(new OnClickListener() {			
			@Override
			public void onClick(View v) {				
				StringBuilder sb = new StringBuilder();
				SparseBooleanArray selectedtems = listView.getCheckedItemPositions();
				int selectItemCounts = selectedtems.size();
				sb.append("节点总数:").append(items.length).append("、选中节点数:").append(selectItemCounts).append("。选中的节点有:");
				
				for(int i=0;i<selectItemCounts;i++){					
					if(selectedtems.valueAt(i)){
						int index = selectedtems.keyAt(i);
						sb.append(index).append(" -> ").append(items[index]);
						if(i<selectItemCounts -1){
							sb.append("、");
						}
						String selectedItem =(String) listView.getAdapter().getItem(index);
						Log.i(TAG, "选中的对象是:"+selectedItem);
						
					}
				}
                             selectedtems.clear();//需要清除以前的选中节点,否则选中节点数会不断累加下去,供下载的代码力没有这行代码,对不住了!


				messageTV.setText(sb.toString());

			}
		});
	}
}


布局较为简单,只是为了输出选中的值

<?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">
	<TextView android:id="@+id/messageTV" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="@string/hello" />
	<Button android:text="打印选中的复选框" android:id="@+id/printSelectedCheckBoxButton"
		android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
	<ListView android:id="@+id/simpleListViewOfCheckBox"
		android:layout_height="wrap_content" android:layout_width="match_parent"></ListView>

</LinearLayout>



 

分享到:
评论

相关推荐

    【Android】ListView与CheckBox的完美结合

    本教程将深入探讨如何将ListView与CheckBox结合,实现一个CheckList,允许用户多选列表项,通常用于实现如设置、选择功能等场景。 1. **ListView的基本使用** - ListView是Android提供的一个视图容器,用于展示一...

    ListView CheckBox

    综上所述,"ListView CheckBox"涉及了ListView的使用、Adapter的自定义、CheckBox的集成以及与用户交互的多选、全选、删除等操作。理解和掌握这些知识点对于开发具有复杂用户交互的Android应用至关重要。

    pb带checkbox的listview的特殊效果

    PowerBuilder是一种用于开发企业级应用的工具,但它并不直接与Android开发中的ListView和Checkbox相关。如果这些文件是项目的一部分,那么它们可能包含了用于模拟或测试ListView效果的PowerBuilder应用或设置。 总...

    Android中ListView结合CheckBox获取选中项.rar

    本示例"Android中ListView结合CheckBox获取选中项.rar"旨在教授如何在ListView中集成CheckBox,并有效地获取用户选择的数据。 1. **ListView基本使用** - ListView是一个可以滚动的视图,它能显示一行行的数据。...

    带checkbox的listview

    在这个方法里,我们将CheckBox与ListView的每一项关联起来,并处理用户的点击事件。例如: ```java public class MyAdapter extends ArrayAdapter&lt;String&gt; { private List&lt;String&gt; items; private ...

    listview,edittext,checkbox结合的简单实例

    本实例主要探讨如何将EditText、Checkbox与ListView结合,实现用户输入内容后动态更新ListView显示的效果。以下是相关的知识点详解: 1. **ListView的基本使用** - ListView是Android提供的一个可以显示大量数据的...

    ListView结合使用CheckBox

    总之,结合使用ListView和CheckBox可以实现高效的多选操作,适配器是实现这一功能的核心,它负责处理数据与视图之间的映射。通过监听CheckBox的状态变化和处理按钮事件,我们可以轻松实现增删选择功能。在实际开发中...

    Android里ListView里面添加CheckBox实现多选

    1. **ListView与Adapter基础** - ListView是Android中用于显示长列表的视图,它可以动态加载和回收视图,以节省内存。 - Adapter是连接ListView和数据源的桥梁,它负责把数据转化为ListView可显示的视图。 2. **...

    ListVIew 实现Checkbox多选

    总结来说,要在Android的ListView中实现Checkbox多选,你需要创建一个自定义Adapter,包含Checkbox的列表项模板,设置CheckedChangeListener来监听状态变化,并用SparseBooleanArray来保存选中状态。这样,你就可以...

    完美解决ListView和CheckBox的焦点冲突及CheckBox的复用问题

    总结,通过理解ListView的工作原理和优化复用机制,我们可以有效地解决ListView与CheckBox的焦点冲突,以及在复用过程中CheckBox状态的保持。同时,结合全选、反选、删除等附加功能,可以为用户提供更友好的交互体验...

    ListView与CheckBox

    将ListView与CheckBox结合使用,可以创建出具有多选功能的列表,如设置应用的启动项、选择联系人等。然而,在实际开发过程中,ListView与CheckBox的交互往往会遇到一些问题,比如复选状态的同步问题。本篇文章将深入...

    Android中ListView结合CheckBox判断选中项

    本文主要实现在自定义的ListView布局中加入CheckBox控件,通过判断用户是否选中CheckBox来对ListView的选中项进行相应的操作。通过一个Demo来展示该功能,选中ListView中的某一项,然后点击Button按钮来显示选中了...

    android ListView+CheckBox实现单选

    当需要在列表项中添加选择功能时,我们通常会结合使用ListView与CheckBox。本篇将详细讲解如何利用这两种组件实现ListView中的单选功能。 首先,我们需要理解ListView的工作原理。ListView通过Adapter将数据源(如...

    ListView结合checkBox

    总之,“ListView结合checkBox”是一个常见的Android应用需求,它涉及到自定义Adapter、事件监听、数据模型与界面状态的同步等多个方面。通过合理的设计和实现,可以构建出用户友好的多选交互界面,提高应用的用户...

    listView加CheckBox

    一、ListView与CheckBox的基础知识 1. ListView:ListView是Android中的一个视图组件,它能够滚动显示一系列视图项。通过Adapter(适配器)将数据绑定到ListView上,实现动态加载和显示。 2. CheckBox:CheckBox是...

    ListView和CheckBox结合_以及CheckBox复用_以及CheckBox设置点击事件的效率问题

    ListView和CheckBox结合_以及CheckBox设置点击事件的效率问题 其中实现的功能是: 1.选择一个条目后,回到第二个界面,条目内容要在第一个界面展示 2.CheckBox的条目被选中后,下拉时其它条目也有被选中问题 3.当...

    Listview checkbox 单选,多选,删除,单击选择,显示选择结果

    1. **ListView与CheckBox的结合**: 在自定义ListView时,通常我们需要创建一个自定义的Adapter,这个Adapter继承自BaseAdapter或ArrayAdapter。在getView()方法中,我们可以为每个列表项添加一个CheckBox,并对其...

    listview+checkbox 多选

    本篇文章将详细探讨如何在ListView中结合Checkbox实现多选功能。 ### 1. ListView的基本使用 首先,我们需要了解ListView的基础用法。在布局文件中声明ListView,并在Java代码中找到对应的View对象,然后通过...

    listview+checkbox选中删除,全选,item点击

    你需要创建一个自定义的Adapter,继承自BaseAdapter或ArrayAdapter,然后在getView()方法中,根据数据生成并返回ListView的每个item视图,包括CheckBox。 9. **数据绑定**:在Adapter的getView()方法中,根据数据项...

Global site tag (gtag.js) - Google Analytics