`
lwjshuai
  • 浏览: 14999 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[转]android 关于view 中 getTag()和setTag()方法讲解

阅读更多
最近在写一个自定义的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每个Item上面的按钮添加事件

    在Android开发中,ListView是一种常用的控件,用于展示大量数据列表。当ListView的每个Item包含可交互元素,如按钮时,我们需要为这些按钮添加点击事件。这篇文章将详细讲解如何在ListView的每个Item上的按钮上设置...

    android ListView中RadioinButton实现单选.zip

    本篇文章将详细讲解如何在Android的ListView中结合RadioButton实现单选功能。 首先,我们需要了解RadioButton的基本用法。RadioButton是Android中的一个视图组件,属于RadioGroup的一部分,用于创建单选按钮。在一...

    android ListView展开和收起

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。`ExpandableListView`是它的扩展,支持子项展开和收起功能,但有时我们可能需要在普通的ListView中实现类似的效果,即“展开和收起”功能。这...

    Android仿微信、支付宝钱包宫格界面Demo

    通过`View.setTag()`和`View.getTag()`来传递和获取每个单元格的数据,以便在点击事件中根据数据执行相应的操作。 6. **动画效果**: 为了提升用户体验,可以在用户触摸宫格单元时添加一些过渡动画,如放大、淡入...

    Android-Android九宫格显示多图或item仿照QQ空间图片列表

    在Android应用开发中,"Android九宫格显示多图或item仿照QQ空间图片列表"是一种常见的用户界面设计,主要用于展示一系列的图片或者图标,让用户能够快速浏览和选择。这个功能在社交应用、新闻阅读应用以及各种内容...

    android listView itemClick 高亮

    在Android开发中,ListView是常用的一种视图组件,它能够以列表的形式展示大量数据,而实现ListView中的item点击高亮效果则是提升用户体验的关键步骤之一。本篇将详细讲解如何在ListView中实现item点击时的高亮效果...

    android merge和include简单使用

    例如,通过`app:`前缀的自定义属性,然后在Java代码中通过`View.setTag()`和`View.getTag()`来获取和设置。 3. 虽然`merge`可以提升性能,但过度使用也可能导致布局过于复杂,反而影响性能。因此,合理地使用`merge`...

    Android带删除功能GridView的demo

    本教程将详细讲解如何在Android中实现一个带有删除功能的GridView,帮助开发者更好地理解和运用这一功能。 首先,我们需要在布局XML文件中声明GridView。一个基本的GridView声明可能如下: ```xml android:id="@...

    android 中ListView下载图片

    本教程将详细讲解如何在Android的ListView中实现图片的异步加载,以及如何处理程序退出时的资源释放,确保应用的稳定运行。 首先,我们需要理解为什么要在ListView中异步加载图片。因为如果在主线程中直接加载大...

    Android ListView批量删除

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。批量删除功能是许多应用中的常见需求,特别是涉及到数据管理的时候。本篇将详细讲解如何利用ListView和CheckBox实现批量删除的操作。 首先,...

    Android中ListView动态添加删除项

    本教程将详细讲解如何在Android中实现ListView的动态添加和删除项功能。 一、ListView的基本使用 1. 布局文件:在XML布局文件中,我们需要定义一个ListView,通常会有一个对应的适配器(Adapter)来填充数据。例如...

    Android ListView长按弹出CheckBox批量删除功能

    本教程将详细讲解如何在Android中实现这个功能,以模仿某些流行的播放器应用。 首先,我们需要创建一个ListView,这可以通过XML布局文件完成。在布局文件中,为每个ListView项定义一个自定义的View,该View包含一个...

    仿Android系统相册

    `GridView`是Android中的一种布局管理器,它允许我们以网格的形式展示数据,每个单元格可以是一个View,比如在这里,每个单元格将是一个显示图片的ImageView。要使用`GridView`,需在XML布局文件中添加`GridView`...

    android ListView+CheckBox实现单选

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。当需要在列表项中添加选择功能时,我们通常会结合使用ListView与CheckBox。本篇将详细讲解如何利用这两种组件实现ListView中的单选功能。 ...

    android ListView初级到高级详解

    在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据列表,用户可以通过滚动来查看更多的条目。本文将从初级到高级详细讲解ListView的使用,包括基础设置、复杂列表的构建、自定义适配器以及如何...

    Android GridView表格排列.rar

    本教程将深入讲解如何在Android中使用GridView进行表格排列。 首先,GridView的基本概念:GridView继承自AbsListView,它是一个二维的列表,每个单元格可以包含一个视图(View)或者布局(Layout)。通过设置...

    101.android中listview的优化1

    本篇文章将详细讲解如何对ListView进行优化,主要围绕Adapter和getView方法展开。 首先,Adapter是连接数据和界面的关键。ListView中的每一项数据都是通过Adapter的getView方法来生成并显示的。默认情况下,当用户...

    Android GridView使用例子

    本教程将详细讲解如何使用Android GridView来实现一个包含标题、内容和图片的ListView,并添加点击和长按事件监听。 首先,我们需要在布局文件中声明GridView。在XML布局文件中,我们可以这样定义一个GridView: `...

    Android 将json数据的key和value动态加载到listview

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。在这个场景中,我们需要将从服务器获取的JSON数据动态地加载到ListView中。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...

    Android操作sqlite数据库之Grid显示图片

    在Android开发中,SQLite是一个非常重要的组件,它是一个轻量级的、嵌入式的数据库,广泛用于存储应用程序中的数据。本实例将介绍如何在Android应用中操作SQLite数据库,并以Grid形式展示图片。以下是对该主题的详细...

Global site tag (gtag.js) - Google Analytics