android listview适配器里区分不同按钮的点击事件
来源:互联网 发布:淘宝买家秀 情趣福利 编辑:程序博客网 时间:2024/05/17 10:27
一、适配器 ListItemClickAdapter
public class ListItemClickAdapter extends BaseAdapter {private Context contxet;private ArrayList<String> list;private ListItemClickHelp callback;private LayoutInflater mInflater;public ListItemClickAdapter(Context contxet, ArrayList<String> list,ListItemClickHelp callback) {this.contxet = contxet;this.list = list;this.callback = callback;}@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int position) {return null;}@Overridepublic long getItemId(int position) {return 0;}@Overridepublic View getView(int position, View convertView, final ViewGroup parent) {mInflater = (LayoutInflater) contxet.getSystemService(Context.LAYOUT_INFLATER_SERVICE);ViewHolder holder;if (convertView == null) {convertView = mInflater.inflate(R.layout.block_list_item, null);holder = new ViewHolder();holder.mAd_tv_show = (TextView) convertView.findViewById(R.id.ad_tv_show);holder.mAd_btn_one = (Button) convertView.findViewById(R.id.ad_btn_one);holder.mAd_btn_two = (Button) convertView.findViewById(R.id.ad_btn_two);convertView.setTag(holder);} else {holder = (ViewHolder) convertView.getTag();}holder.mAd_tv_show.setText(list.get(position));final View view = convertView;final int p = position;final int one = holder.mAd_btn_one.getId();holder.mAd_btn_one.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {callback.onClick(view, parent, p, one);}});final int two = holder.mAd_btn_two.getId();holder.mAd_btn_two.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {callback.onClick(view, parent, p, two);}});return convertView;}public static class ViewHolder {TextView mAd_tv_show;Button mAd_btn_one;Button mAd_btn_two;}}
二、接口 ListItemClickHelp
/** * listview点击事件接口 * @author Alan * */public interface ListItemClickHelp {void onClick(View item, View widget, int position, int which);}
三、界面 MainActivity
public class MainActivity extends Activity implements ListItemClickHelp {private TextView mtv_show;private ListView mlv_show;private ArrayList<String> mdata = new ArrayList<String>();private ListItemClickAdapter madapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initLayout();}private void initLayout() {mdata.add("One");mdata.add("Two");mdata.add("Three");mdata.add("Four");mdata.add("Five");mdata.add("菠萝");mdata.add("苹果");mdata.add("葡萄");mdata.add("哈密瓜");mdata.add("香蕉");mtv_show = (TextView) this.findViewById(R.id.tv_show);mlv_show = (ListView) this.findViewById(R.id.lv_show);madapter = new ListItemClickAdapter(this, mdata, this);mlv_show.setAdapter(madapter);mlv_show.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> adapter, View view,int position, long arg3) {mtv_show.setText(mdata.get(position));}});}@Overridepublic void onClick(View item, View widget, int position, int which) {switch (which) {case R.id.ad_btn_one:mtv_show.setText(mdata.get(position) + "Btn one");break;case R.id.ad_btn_two:mtv_show.setText(mdata.get(position) + "Btn two");break;default:break;}}}
四、效果图
五、下载地址:http://download.csdn.net/detail/shi508181017/7060961
1 0
- android listview适配器里区分不同按钮的点击事件
- android listview适配器里区分不同按钮的点击事件
- android listview适配器里区分不同按钮的点击事件
- android listview适配器里区分不同按钮的点击事件
- Android中ListView适配器里区分不同按钮的点击事件
- ListView里Item的按钮(控件)点击事件
- android 按钮两次点击事件区分
- listview的item中不同的点击按钮触发不同的点击事件
- Android 按钮点击两次触发不同的事件
- Android中listview条目中按钮点击事件的实现
- Android自定义按钮点击事件和长按事件的区分
- android 按钮点击1次,点击3次和点击6次触发不同的事件
- android listview里包含组件(checkbox)点击事件和Item的点击事件冲突
- android listview里包含组件(checkbox)点击事件和Item的点击事件冲突
- Android ListView的Item点击事件和Item里控件点击事件冲突问题解决
- ListView的Item中的按钮点击事件
- ListView内 按钮的点击事件
- listview 内部按钮的点击事件
- 北京警方:李代沫吸毒属实已被抓获
- ubuntu下android源码的下载
- NSTableView系列之代码创建
- 利用P3P远程跨域保存cookie实现SSO单点登录功能
- PHP读取文件内容后清空文件的代码
- android listview适配器里区分不同按钮的点击事件
- 30天快速上手 TDD Day 7 - Unit Test - Stub, Mock, Fake 簡介
- 判断一个正整数是否为质数的算法
- RESTful Request:GET/PUT/DELETE/POST/HEAD/OPTIONS【转】
- xilinx PowerPC 中断
- 页面接收action 参数 编码问题
- 多张SD卡,进行读取
- 2014-03-18项目四-数组做数据成员
- SQL SERVER 2012数据库:删除用户时提示“数据库主体在该数据库中拥有架构”无法删除解决办法