最近在写一个自定义的Adapter用来绑定ListView,在重写getView的时候发现网上参考代码有用到setTag()和getTag()两个函数,百度找不到答案,google一搜就知道了,:P
View中的setTag(Onbect)表示给View添加一个格外的数据,以后可以用getTag()将这个数据取出来。
可以用在多个Button添加一个监听器,每个Button都设置不同的setTag。这个监听器就通过getTag来分辨是哪个Button 被按下。
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button1 = (Button) findViewById(R.id.Button01);
Button button2 = (Button) findViewById(R.id.Button02);
Button button3 = (Button) findViewById(R.id.Button03);
Button button4 = (Button) findViewById(R.id.Button04);
MyListener listener = new MyListener();
button1.setTag(1);
button1.setOnClickListener(listener);
button2.setTag(2);
button2.setOnClickListener(listener);
button3.setTag(3);
button3.setOnClickListener(listener);
button4.setTag(4);
button4.setOnClickListener(listener);
}
public class MyListener implements View.OnClickListener {
@Override
public void onClick(View v) {
int tag = (Integer) v.getTag();
switch (tag) {
case 1:
System.out.println("button1 click");
break;
case 2:
System.out.println("button2 click");
break;
case 3:
System.out.println("button3 click");
break;
case 4:
System.out.println("button4 click");
break;
}
}
}
}
分享到:
相关推荐
在Android开发中,ListView是一种常用的控件,用于展示大量数据列表。当ListView的每个Item包含可交互元素,如按钮时,我们需要为这些按钮添加点击事件。这篇文章将详细讲解如何在ListView的每个Item上的按钮上设置...
本篇文章将详细讲解如何在Android的ListView中结合RadioButton实现单选功能。 首先,我们需要了解RadioButton的基本用法。RadioButton是Android中的一个视图组件,属于RadioGroup的一部分,用于创建单选按钮。在一...
在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。`ExpandableListView`是它的扩展,支持子项展开和收起功能,但有时我们可能需要在普通的ListView中实现类似的效果,即“展开和收起”功能。这...
通过`View.setTag()`和`View.getTag()`来传递和获取每个单元格的数据,以便在点击事件中根据数据执行相应的操作。 6. **动画效果**: 为了提升用户体验,可以在用户触摸宫格单元时添加一些过渡动画,如放大、淡入...
在Android应用开发中,"Android九宫格显示多图或item仿照QQ空间图片列表"是一种常见的用户界面设计,主要用于展示一系列的图片或者图标,让用户能够快速浏览和选择。这个功能在社交应用、新闻阅读应用以及各种内容...
在Android开发中,ListView是常用的一种视图组件,它能够以列表的形式展示大量数据,而实现ListView中的item点击高亮效果则是提升用户体验的关键步骤之一。本篇将详细讲解如何在ListView中实现item点击时的高亮效果...
例如,通过`app:`前缀的自定义属性,然后在Java代码中通过`View.setTag()`和`View.getTag()`来获取和设置。 3. 虽然`merge`可以提升性能,但过度使用也可能导致布局过于复杂,反而影响性能。因此,合理地使用`merge`...
本教程将详细讲解如何在Android中实现一个带有删除功能的GridView,帮助开发者更好地理解和运用这一功能。 首先,我们需要在布局XML文件中声明GridView。一个基本的GridView声明可能如下: ```xml android:id="@...
本教程将详细讲解如何在Android的ListView中实现图片的异步加载,以及如何处理程序退出时的资源释放,确保应用的稳定运行。 首先,我们需要理解为什么要在ListView中异步加载图片。因为如果在主线程中直接加载大...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。批量删除功能是许多应用中的常见需求,特别是涉及到数据管理的时候。本篇将详细讲解如何利用ListView和CheckBox实现批量删除的操作。 首先,...
本教程将详细讲解如何在Android中实现ListView的动态添加和删除项功能。 一、ListView的基本使用 1. 布局文件:在XML布局文件中,我们需要定义一个ListView,通常会有一个对应的适配器(Adapter)来填充数据。例如...
本教程将详细讲解如何在Android中实现这个功能,以模仿某些流行的播放器应用。 首先,我们需要创建一个ListView,这可以通过XML布局文件完成。在布局文件中,为每个ListView项定义一个自定义的View,该View包含一个...
`GridView`是Android中的一种布局管理器,它允许我们以网格的形式展示数据,每个单元格可以是一个View,比如在这里,每个单元格将是一个显示图片的ImageView。要使用`GridView`,需在XML布局文件中添加`GridView`...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。当需要在列表项中添加选择功能时,我们通常会结合使用ListView与CheckBox。本篇将详细讲解如何利用这两种组件实现ListView中的单选功能。 ...
在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据列表,用户可以通过滚动来查看更多的条目。本文将从初级到高级详细讲解ListView的使用,包括基础设置、复杂列表的构建、自定义适配器以及如何...
本教程将深入讲解如何在Android中使用GridView进行表格排列。 首先,GridView的基本概念:GridView继承自AbsListView,它是一个二维的列表,每个单元格可以包含一个视图(View)或者布局(Layout)。通过设置...
本篇文章将详细讲解如何对ListView进行优化,主要围绕Adapter和getView方法展开。 首先,Adapter是连接数据和界面的关键。ListView中的每一项数据都是通过Adapter的getView方法来生成并显示的。默认情况下,当用户...
本教程将详细讲解如何使用Android GridView来实现一个包含标题、内容和图片的ListView,并添加点击和长按事件监听。 首先,我们需要在布局文件中声明GridView。在XML布局文件中,我们可以这样定义一个GridView: `...
在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。在这个场景中,我们需要将从服务器获取的JSON数据动态地加载到ListView中。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...
在Android开发中,SQLite是一个非常重要的组件,它是一个轻量级的、嵌入式的数据库,广泛用于存储应用程序中的数据。本实例将介绍如何在Android应用中操作SQLite数据库,并以Grid形式展示图片。以下是对该主题的详细...