2种方式实现ListView中中每一项下的任意控件的点击事件
来源:互联网 发布:济南用友软件代理商 编辑:程序博客网 时间:2024/06/05 06:57
首先给出布局文件:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:descendantFocusability="blocksDescendants" > <TextView android:id="@+id/name" android:layout_width="0dp" android:layout_height="40dp" android:singleLine="true" android:ellipsize="middle" android:gravity="center" android:layout_weight="2"/> <Button android:id="@+id/delete" android:layout_width="0dp" android:layout_height="40dp" android:text="删除" android:gravity="center" android:layout_weight="1"/></LinearLayout>
实现方式1:
①在Button中添加android:onClick="delete"//delete是任意定义的点击事件函数,具体在java代码中实现。
②在使用此item的java代码中实现delete函数,如下:
public void delete(View v) {if (v.getId() == R.id.delete) {String str = "确定删除吗?";String title = "删除提示框";new AlertDialog.Builder(this).setTitle(title).setMessage(str).setPositiveButton("确定", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, "删除一条记录", Toast.LENGTH_SHORT).show();}}).setNegativeButton("取消", null).show();}}
实现方式2:
在ListView的自定义适配器中添加对应的点击事件,代码如下:
public class MySimpleAdapter extends BaseAdapter {private LayoutInflater mInflater;private List<Map<String, Object>> list;private int layoutID;private String flag[];private int ItemIDs[];public MySimpleAdapter(Context context, List<Map<String, Object>> list,int layoutID, String flag[], int ItemIDs[]) {this.mInflater = LayoutInflater.from(context);this.list = list;this.layoutID = layoutID;this.flag = flag;this.ItemIDs = ItemIDs;}@Overridepublic int getCount() {return list.size();}@Overridepublic Object getItem(int arg0) {return 0;}@Overridepublic long getItemId(int arg0) {return 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {convertView = mInflater.inflate(layoutID, null);// 设置TextView的代码省略addListener(convertView);return convertView;}public void addListener(View convertView) {((Button)convertView.findViewById(R.id.btn)).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {new AlertDialog.Builder(MainActivity.ma).setTitle("自定义通用SimpleAdapter").setMessage("删除!").show();}});}}备注:方式2的具体实现可参见链接:http://blog.csdn.net/xiaominghimi/article/details/6314704
0 0
- 2种方式实现ListView中中每一项下的任意控件的点击事件
- listview获得每一项的点击,长按,滑动事件
- 为ListView中每一项里的ImageButton设置监听
- Android ListView中 每一项都有不同的布局
- Android ListView中 每一项都有不同的布局
- Android ListView中 每一项都有不同的布局
- Android ListView中 每一项都有不同的布局
- Android ListView中 每一项都有不同的布局
- Android ListView中 每一项都有不同的布局
- Android ListView中每一项有不同的布局的优化实现
- 实现类似Instagram、qq中ListView每一项标题置顶的效果
- listview中每一项内容按类别显示的实现方法
- Android中ListView的item实现点击任意位置都触发事件
- 利用RecycleView实现类似ListView的Item点击,长按等操作事件以及点击后每一项在添加一个列表
- ListView中Item的子控件与Item点击事件冲的解决方式
- ListView控件中item中实现的Button的点击事件
- Android中点击事件的实现方式
- ANDROID中点击事件的实现方式
- 我一向觉得做软件的人不像我们做硬件的人大气,果然这样
- photoshop cs6破解补丁
- WinCE文件目录定制及内存调整
- Android屏幕适配
- 设计模式学习—单列模式
- 2种方式实现ListView中中每一项下的任意控件的点击事件
- 浅谈网站优化时robots的写法
- WinCE系统字体的设置
- 字符串与字符数组初始化及长度计算
- 分区数据恢复之ubuntu13.10格式化整个硬盘
- AS3.0 NaN、null、undefined 三者之间的区别
- 在WinCE5.0和WinCE6.0下,编译选项介绍
- Qt中文乱码解决方法
- 第一次android小组会