列表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手机安全卫士、Kotlin漫画、支付宝动画、沉浸状态栏等源
  2. Android标题栏、状态栏、全屏
  3. Android隐藏状态栏和标题栏
  4. Android中的drawable state的各种状态
  5. Android 给TextView添加点击事件
  6. Android给TextView添加点击事件的实现方法
  7. angularjs是怎么为ng-click事件传递参数的?
  8. Visual Studio 中自定义生成事件的详细介绍
  9. 总结委托和事件的联系和区别

随机推荐

  1. android 简单快速 倒计时动画
  2. 第15章 Android启动过程 [Android应用开
  3. 如果让我重新设计一款Android(安卓)App
  4. 在Android中自定义IOS风格的按钮
  5. Android中Local Service最本质的作用是什
  6. Android系统调试wifi总结
  7. android 出现gen already exists but is
  8. 设置activity为Dialog类型的设置
  9. Android之 UI主线程ZT
  10. Android(安卓)系统编译