最近这段时间比较闲,每天都无所事事。不再想重复这样的生活,于是申请了新的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>
分享到:
相关推荐
本教程将深入探讨如何将ListView与CheckBox结合,实现一个CheckList,允许用户多选列表项,通常用于实现如设置、选择功能等场景。 1. **ListView的基本使用** - ListView是Android提供的一个视图容器,用于展示一...
综上所述,"ListView CheckBox"涉及了ListView的使用、Adapter的自定义、CheckBox的集成以及与用户交互的多选、全选、删除等操作。理解和掌握这些知识点对于开发具有复杂用户交互的Android应用至关重要。
PowerBuilder是一种用于开发企业级应用的工具,但它并不直接与Android开发中的ListView和Checkbox相关。如果这些文件是项目的一部分,那么它们可能包含了用于模拟或测试ListView效果的PowerBuilder应用或设置。 总...
本示例"Android中ListView结合CheckBox获取选中项.rar"旨在教授如何在ListView中集成CheckBox,并有效地获取用户选择的数据。 1. **ListView基本使用** - ListView是一个可以滚动的视图,它能显示一行行的数据。...
在这个方法里,我们将CheckBox与ListView的每一项关联起来,并处理用户的点击事件。例如: ```java public class MyAdapter extends ArrayAdapter<String> { private List<String> items; private ...
本实例主要探讨如何将EditText、Checkbox与ListView结合,实现用户输入内容后动态更新ListView显示的效果。以下是相关的知识点详解: 1. **ListView的基本使用** - ListView是Android提供的一个可以显示大量数据的...
总之,结合使用ListView和CheckBox可以实现高效的多选操作,适配器是实现这一功能的核心,它负责处理数据与视图之间的映射。通过监听CheckBox的状态变化和处理按钮事件,我们可以轻松实现增删选择功能。在实际开发中...
1. **ListView与Adapter基础** - ListView是Android中用于显示长列表的视图,它可以动态加载和回收视图,以节省内存。 - Adapter是连接ListView和数据源的桥梁,它负责把数据转化为ListView可显示的视图。 2. **...
总结来说,要在Android的ListView中实现Checkbox多选,你需要创建一个自定义Adapter,包含Checkbox的列表项模板,设置CheckedChangeListener来监听状态变化,并用SparseBooleanArray来保存选中状态。这样,你就可以...
总结,通过理解ListView的工作原理和优化复用机制,我们可以有效地解决ListView与CheckBox的焦点冲突,以及在复用过程中CheckBox状态的保持。同时,结合全选、反选、删除等附加功能,可以为用户提供更友好的交互体验...
将ListView与CheckBox结合使用,可以创建出具有多选功能的列表,如设置应用的启动项、选择联系人等。然而,在实际开发过程中,ListView与CheckBox的交互往往会遇到一些问题,比如复选状态的同步问题。本篇文章将深入...
本文主要实现在自定义的ListView布局中加入CheckBox控件,通过判断用户是否选中CheckBox来对ListView的选中项进行相应的操作。通过一个Demo来展示该功能,选中ListView中的某一项,然后点击Button按钮来显示选中了...
当需要在列表项中添加选择功能时,我们通常会结合使用ListView与CheckBox。本篇将详细讲解如何利用这两种组件实现ListView中的单选功能。 首先,我们需要理解ListView的工作原理。ListView通过Adapter将数据源(如...
总之,“ListView结合checkBox”是一个常见的Android应用需求,它涉及到自定义Adapter、事件监听、数据模型与界面状态的同步等多个方面。通过合理的设计和实现,可以构建出用户友好的多选交互界面,提高应用的用户...
一、ListView与CheckBox的基础知识 1. ListView:ListView是Android中的一个视图组件,它能够滚动显示一系列视图项。通过Adapter(适配器)将数据绑定到ListView上,实现动态加载和显示。 2. CheckBox:CheckBox是...
ListView和CheckBox结合_以及CheckBox设置点击事件的效率问题 其中实现的功能是: 1.选择一个条目后,回到第二个界面,条目内容要在第一个界面展示 2.CheckBox的条目被选中后,下拉时其它条目也有被选中问题 3.当...
1. **ListView与CheckBox的结合**: 在自定义ListView时,通常我们需要创建一个自定义的Adapter,这个Adapter继承自BaseAdapter或ArrayAdapter。在getView()方法中,我们可以为每个列表项添加一个CheckBox,并对其...
本篇文章将详细探讨如何在ListView中结合Checkbox实现多选功能。 ### 1. ListView的基本使用 首先,我们需要了解ListView的基础用法。在布局文件中声明ListView,并在Java代码中找到对应的View对象,然后通过...
你需要创建一个自定义的Adapter,继承自BaseAdapter或ArrayAdapter,然后在getView()方法中,根据数据生成并返回ListView的每个item视图,包括CheckBox。 9. **数据绑定**:在Adapter的getView()方法中,根据数据项...