列表Item点击,CheckBox状态切换,滑动CheckBox状态保持

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"><ListView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:padding="5dip"        android:id="@+id/ListView"></ListView></LinearLayout>




listitem.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/linear"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="10dip" ><TextViewandroid:id="@+id/wishname"android:layout_width="100px"android:layout_height="wrap_content"android:gravity="left"android:text="TextView01"android:textSize="20dip" /><CheckBoxandroid:id="@+id/checkBox1"android:layout_width="40px"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_marginLeft="140dp"android:focusable="false" ></CheckBox></LinearLayout>



Main.javaimport java.util.HashMap;import java.util.Map;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;public class Main extends Activity {private ListView list;private ListAdapter listadapter;private String[] arr = new String[20];private Map<Integer, Boolean> status = new HashMap<Integer, Boolean>();/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);for(int i=0;i<20;i++){arr[i] = i+""+i+""+i+""+i;status.put(i, false);}// 绑定Layout里面的ListViewlist = (ListView) findViewById(R.id.ListView);listadapter = new ListAdapter();// 添加并且显示list.setAdapter(listadapter);// 添加点击事件list.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView<?> parent, View view,int position, long id) {Toast.makeText(Main.this, "Item点击事件", Toast.LENGTH_SHORT).show();}});}private class ListAdapter extends BaseAdapter {public int getCount() {return arr.length;}public Object getItem(int position) {return position;}public long getItemId(int position) {return position;}public View getView(final int position, View view, ViewGroup parent) {// 获取布局文件if (view == null) {view = getLayoutInflater().inflate(R.layout.listitem, null);}// 获取控件TextView name = (TextView) view.findViewById(R.id.wishname);CheckBox ck = (CheckBox) view.findViewById(R.id.checkBox1);ck.setChecked(status.get(position));if (arr != null) {name.setText(arr[position]);ck.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {status.put(position, !status.get(position));Toast.makeText(Main.this, "CheckBox点击事件", Toast.LENGTH_SHORT).show();}});}return view;}}}

更多相关文章

  1. Android开发 准备工作
  2. android rom短信模块最后获取的Cursor字段内容
  3. Android(安卓)SDK 2.0安装、配置图文教程
  4. Android(安卓)存储选项之 SQLiteDatabase 源码分析
  5. android 5.0以上版本控件点击 水波纹效果
  6. 更新sdk后,点击sdk管理器报出location of the android sdk has n
  7. Android(安卓)Contacts(一)—— 读取联系人
  8. android中listview中去除背景色选中色
  9. android http 请求方式

随机推荐

  1. Android布局优化(三)使用AsyncLayoutInflat
  2. android 中shape的使用
  3. 安卓学习随笔之 android:layout_width="0
  4. Android sdk 1.5 android工具的用法
  5. android 访问 OData
  6. 解决Fetching android sdk component inf
  7. Android 常用开发术语
  8. Android Studio 单刷《第一行代码》系列
  9. Android系统简介
  10. Android状态栏