View中的setTag(Onbect)表示给View添加一个格外的数据,以后可以用getTag()将这个数据取出来。
可以用在多个Button添加一个监听器,每个Button都设置不同的setTag。这个监听器就通过getTag来分辨是哪个Button 被按下。
示例代码如下:
也就是说tag其实就是组件的标志 类似于一个数据库查询里面的主键。 从而当我们在查询的时候 就可以通过tag来货指定的组件 类似于id
例子如下。
public class MainActivity 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);
MyListener listener = new MyListener();
button1.setTag(1);
button1.setOnClickListener(listener);
button2.setTag(2);
button2.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;
}
}
}
}