在ListView中实现button功能
/创建名为my_listview的xml视图
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent"><ListViewandroid:id="@+id/list_view_2"android:layout_width="match_parent"android:layout_height="match_parent" />
</LinearLayout>
/创建名为MyListView的java文件
新建adapter对象
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.my_listview);ListView listview = (ListView) findViewById(R.id.list_view_2);;MyAdapter adapter = new MyAdapter(this,getData(),R.layout.item,new String[]{"image", "name", "size", "button"},new int[]{R.id.image, R.id.name, R.id.size, R.id.button});listview.setAdapter(adapter);listview.setOnItemClickListener(new ListView.OnItemClickListener(){@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {Toast.makeText(MyListView.this,"我是item点击事件 i = " + i + "l = " + l,Toast.LENGTH_SHORT).show();}});
}private ArrayList<Map<String,Object>> getData() {ArrayList<Map<String, Object>> data = new ArrayList<Map<String, Object>>();Map<String, Object> map;map = new HashMap<String, Object>();map.put("image", R.drawable.log);map.put("name", "王者农药");map.put("size", "30dp");map.put("button", "下载");data.add(map);map = new HashMap<String, Object>();map.put("image", R.drawable.log2);map.put("name", "吃鸡战场");map.put("size", "30dp");map.put("button", "下载");data.add(map);map = new HashMap<String, Object>();map.put("image", R.drawable.log3);map.put("name", "氪金");map.put("size", "30dp");map.put("button", "下载");data.add(map);return data;}
创建名为item的xml文件
<?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="wrap_content"android:orientation="horizontal"android:descendantFocusability="blocksDescendants"><ImageViewandroid:id="@+id/image"android:src="@drawable/log"android:layout_width="70dp"android:layout_height="70dp"/><LinearLayoutandroid:layout_width="0dp"android:layout_height="wrap_content"android:orientation="vertical"android:layout_marginLeft="20dp"android:layout_marginTop="5dp"android:layout_weight="3"><TextViewandroid:id="@+id/name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="5dp"android:layout_marginTop="2dp"android:textColor="#130000"android:textSize="18dp"/><TextViewandroid:id="@+id/size"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="5dp"android:layout_marginLeft="5dp"android:textColor="#93851f"android:text="65M"android:textSize="20dp"/></LinearLayout><Buttonandroid:layout_weight="1"android:id="@+id/button"android:layout_marginTop="12dp"android:layout_width="20dp"android:layout_height="40dp"android:text="下载"android:textSize="20dp"/>
</LinearLayout>
创建名为MyAdapter的java文件
通过设置标签获得不同按钮从而实现不同点击事件
public class MyAdapter extends SimpleAdapter {//上下文Context context ;public MyAdapter(Context context,List<? extends Map<String, ?>> data, int resource, String[] from,int[] to) {super(context, data, resource, from, to);this.context = context;}@Overridepublic View getView(final int i, View convertView, ViewGroup viewGroup){View view = super.getView(i, convertView, viewGroup);final Button btn = (Button) view.findViewById(R.id.button);btn.setTag(i);//设置标签btn.setOnClickListener(new android.view.View.OnClickListener() {@Overridepublic void onClick(View v) {switch ((Integer)v.getTag()){case 0:Toast.makeText(getApplicationContext(), "点击的是ImageButton" + v.getTag(), Toast.LENGTH_SHORT).show();break;case 1:Toast.makeText(getApplicationContext(), "hi" + v.getTag(), Toast.LENGTH_SHORT).show();break;case 2:Toast.makeText(getApplicationContext(), "gey" + v.getTag(), Toast.LENGTH_SHORT).show();break;}}});return view;}
在ListView中实现button功能相关推荐
- Android listView中的button点击事件
如果listView中的item有button控件,那么如何获取listView中的button控件?又如何在点击button时定位当前的item? 在listview中的listitem设置事件响应 ...
- ListView中添加Button后,Button的点击事件和ListView的点击事件冲突
1.在ItemView配置的xml文件中的根节点添加属性android:descendantFocusability="blocksDescendants" 2.在要添加事件的控件 ...
- ListView中加入Button后,Button的点击事件和ListView的点击事件冲突
1.在ItemView配置的xml文件里的根节点加入属性android:descendantFocusability="blocksDescendants" 2.在要加入事件的控件 ...
- ListView中嵌套checkbox实现多选
我现在要实现一个多选的ListView,当选择ListView中的checkbox的时候,可以将选中的多个checkbox所代表的值保存到数据库中!哪位高手做过类似的东西,给小弟指教指教,十分感谢! ...
- 关于listView的item失去焦点不能点击 Item中包含Button 导致抢占焦点
今天发现一个问题.listView的item点击以后进入到下一个页面,下个页面有个返回按钮,直接返回回去以后点击事件不能触发,滑动或者重新打开这个listView,就可以达到原来的效果.后来发现是因为 ...
- Listview中使用线程实现无限加载更多项目的功能
相关搜索:"Listview 加载更多", 在现在的SINA微博或者象twitter,dzone等网站中,当加载一个很长的列表时,往往都是 先加载部分内容,然后当用户用拖拉条往下拖 ...
- Android Listview中Button按钮点击事件冲突解决办法
今天做项目时,ListView中含有了Button组件,心里一早就知道肯定会有冲突,因为以前就遇到过,并解决过,可惜当时没有记录下来. 今天在做的时候,继续被这个问题郁闷了一把,后来解决后,赶紧来记录 ...
- Android处理ListView中的Item中的Button按钮不能点击的问题
问题描述:ListView列表中的Button按钮按钮不能点击 解决办法:在ListView中的Item项的布局文件中加上:android:descendantFocusability="b ...
- android 部分区域点击,Android编程实现ListView中item部分区域添加点击事件功能
本文实例讲述了Android编程实现ListView中item部分区域添加点击事件功能.分享给大家供大家参考,具体如下: 需求如题目:Android listview中item部分区域添加点击事件,在 ...
最新文章
- wdatepicker设置时间范围_Mac新手必看,这些设置可以让你的Mac更好用!
- Web纯前端“旭日图”实现元素周期表
- get/post时中文乱码问题的解决办法
- linux去重文件第一列,科学网—Linux实用命令 - 刘洪波的博文
- 【项目实战课】基于Pytorch的DCGAN人脸嘴部表情图像生成实战
- matlab 格式化文件,格式化matlab文件01_新建普通文件
- windows安装spark工具记录
- mysql初始化错误【一】Can't find error-message file '/usr/local/mysql/errmsg.sys'
- 好用的shell工具_精选5个酷毙的Python工具
- 【转载】正则表达式30分钟入门教程
- 又一家互联网咖啡品牌要凉:papi酱、李诞曾代言,融资4亿打水漂
- python精确匹配字符串_Python: 字符串搜索和匹配,re.compile() 编译正则表达式字符串,然后使用match() , findall() 或者finditer() 等方法...
- mac 生成公钥和私钥
- 【区块链开发入门】(二) 以太坊的编程接口
- Hadoop版本区别Hadoop组成
- java 基础的数组 添加
- linux ip1180,canon ip1180驱动下载
- 福建盼盼食品有限公司网络营销集团分析报告
- python安装途中遇到的问题和解决方法
- 洪荒开局鸿蒙绑定系统,洪荒开局绑定鸿钧
热门文章
- 基于深度学习的行人Re-ID问题的综述和展望
- Ps抠图之魔棒简易使用
- android键盘映射之一
- IDEA 出现问题:debugger启动tomcat 报错Address already in use: NET_Bind 解决方案
- pythonturtle画圆形螺旋风管_圆形风管节点大样图
- 清除win+r的记录
- Oulipo(欧力波)(经典kmp模板题) HDU-1686
- python0表示剪刀_简化Python代码(石头、纸、剪刀)
- .NET OCX开发
- java个人博客系统代码下载_java个人博客系统代码