`

(转)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;    
            }    
        }    
   
    }    
   
}  



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/herryz/archive/2011/02/18/6193844.aspx
分享到:
评论

相关推荐

    Android setTag方法的key问题解决办法

    android在设计View类时,为了能储存一些辅助信息,设计一个一个setTag/getTag的方法。这让我想起在Winform设计中每个Control同样存在一个Tag。 今天要说的是我最近学习android遇见的setTag的坑。一般情况下我们只...

    Android代码-一个封装的SuperAdapter

    You won't need to write ViewHolder, createView, setTag, getTag, and confuse how to setOnItemClickListener to RecyclerView, etc. The only thing you really need to do is that implement a method onBind...

    ZhaoLizz#Android-Notes#RecyclerView的回调点击事件1

    RecyclerView点击事件的回调机制当需要用到点击事件发送intent时,必须用回调可以利用 控件.setTag(),view.getTag(),利用vi

    wzy17419.rar

    viewHolder = (ViewHolder) view.getTag(); } viewHolder.title = (TextView) view.findViewById(R.id.tv_title); viewHolder.time = (TextView) view.findViewById(R.id.tv_time); viewHolder.author = ...

    ListView控件

    实现 ListView 局部刷新 刷新 public View getView(int position, View convertView, ViewGroup parent) { ViewHold viewHold = null; final int position1 = position; if(null == convertView){ viewHold...

    listviewAdapter

    viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.title.setText(list.get(position).getTitle()); viewHolder.publish.setText(list.get(position).getPubblish()); viewHolder.brief.setText...

    android地址选择器

    int index = (Integer)parent.getTag(); //ArrayAdapter<String> obj = (ArrayAdapter)(parent.getAdapter()); //String value = obj.getItem(position); //android.util.Log.i("", "value=" + value); if ...

    package com.example.f1_telephone;

    holde=(Holde) arg1.getTag(); } TelephoneBean telephoneBean=list.get(arg0); holde.tvname.setText(telephoneBean.getName()); holde.tvnumber.setText(telephoneBean.getNumber()); return arg1...

    SelectAll全选

    删除之类操作需要全选... convertView.setTag(holder); } else { // 取出holder holder = (ViewHolder) convertView.getTag(); } // 设置list中TextView的显示 holder.tv.setText(list.get(position)); ...

    SplideRemoveMenu-滑动删除菜单.zip

     vHolder = (ViewHolder) convertView.getTag();  }  String msg = getItem(position);  vHolder.content.setText(msg);  final ViewHolder finalViewHolder = vHolder;  //点击删除...

    MultilevelTreeList-快速实现Android多级树形列表,由鸿洋多级树形列表demo修改而来。支持ListView、RecyclerView。.zip

     viewHolder = (ViewHolder) convertView.getTag();  }  viewHolder.cb.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {  setChecked(node,...

    SwipeListViewTest项目

    holder = (ViewHolder) convertView.getTag(); } holder.mBackDelete.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //关闭动画 mSwipeListView.closeAnimate...

Global site tag (gtag.js) - Google Analytics