重写SimpleAdapter的getView以实现按钮点击响应
来源:互联网 发布:知乎怎么移除粉丝 编辑:程序博客网 时间:2024/04/29 19:43
SimpleAdapter是四个适配器里最重要的适配器,它不仅实现了数据的绑定,而且可以自定义控件。
在自定义控件时,如果使用了按钮、复选框、单选框等需要点击监听器的控件,就得重写SimpleAdapter的getView函数来实现。
getView是用来刷新ListView的函数,每次在ListView里新增(新显示)一条记录时,getView就会被调用一次(在这次调用里,getView里就会对这条记录里的按钮设置监听器)。
下面是示例:
这是重写的类:MySimpleAdapter,里面的context变量是为了调用Toast类的makeText函数。
package com.plan;import java.util.List;import java.util.Map;import android.content.Context;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;import android.widget.ImageButton;import android.widget.SimpleAdapter;import android.widget.Toast;import com.example.plan.R;public class MySimpleAdapter extends SimpleAdapter{ Context context; public MySimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) { super(context, data, resource, from, to); this.context = context; // TODO Auto-generated constructor stub } public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub View v = super.getView(position, convertView, parent); Button btn=(Button) v.findViewById(R.id.button1); final int p = position; Log.d("Position", Integer.toString(position)); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(context, "删除"+Integer.toString(p),2000).show(); } }); return v; }}
使用上述类的代码:
plan_list = (ListView)findViewById(R.id.listView_today_plan);//找到控件 ListAdapter adapter = null;//绑定适配器 String[] time={"11:09","11:09","11:09"};,"HelloWorld"}; boolean[] check = {true,false,false}; List<Map<String,Object>> listItems = new ArrayList<Map<String,Object>>(); for(int i = 0; i < time.length;i++){ Map<String,Object> map = new HashMap<String,Object>(); map.put("time", time[i]); map.put("item", item[i]); map.put("check", check[i]); listItems.add(map); } adapter = new MySimpleAdapter(this,listItems, R.layout.plan_item, new String[]{"time","item","check"}, new int[]{R.id.textView_time,R.id.textView_item,R.id.checkBox_complish}); plan_list.setAdapter(adapter);
0 0
- 重写SimpleAdapter的getView以实现按钮点击响应
- 【Android基础篇】重写SimpleAdapter的getView以实现按钮点击响应
- Android——继承SimpleAdapter重写自己的getView
- simpleadapter中按钮的响应事件
- 窗体继承,然后实现按钮点击事件的重写
- Android响应按钮点击事件的4种方法实现
- SimpleAdapter响应item点击事件
- SimpleAdapter实现点击事件
- 全屏以按钮重写
- 重写SimpleAdapter实现自定义ListView
- 重写Activity实现多个Activity引用同一个Activity的按钮布局和响应
- 响应send按钮的点击事件
- Unity的按钮不响应点击
- 重写BaseExpandableListAdapter实现Group和Child上的按钮均可点击
- simpleAdapter的使用和listview点击事件的简单实现
- Android上实现一个简单的天气预报APP(四) 添加按钮点击响应
- 重写 uiscrollview类,消除点击scrollview里面按钮时发生延迟响应
- 分别使用simpleAdapter和baseAdapter为ListView的Item添加按钮响应事件
- 数据库安装与基本操作
- 数据库设计规则技巧
- 算法实现(1)排列问题
- MyEclipse生成序列号
- Servlet文件上传问题
- 重写SimpleAdapter的getView以实现按钮点击响应
- MSYS2 + MinGW-w64 + Git + gVim 环境配置
- Linux使用kickstart搭建网络引导安装
- 测试 桩
- 正则表达式
- Adroid EditText限制输入数字与英文默认弹出数字键盘
- 温故——进程控制
- 网页中商品图片的局部放大效果
- Ubuntu12.04下sqlite安装和使用例子(一)