android view setTag()和findViewWithTag()
我们可能在有得需求情况下要给view设置一个tag,然后根据这个tag获取这个对应的view对象,给一个view设置一个tag为setTag(),根据这个tag获取这个view对象使用findViewWithTag()方法,写了一个简单的demo玩玩,
- package com.example.tags;
- import java.util.ArrayList;
- import java.util.List;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.TextView;
- public class MainActivity extends Activity implements OnClickListener {
- private TextView tv1,tv2,tv3,tv4;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- tv1 = (TextView) findViewById(R.id.tv1);
- tv2 = (TextView) findViewById(R.id.tv2);
- tv3 = (TextView) findViewById(R.id.tv3);
- tv4 = (TextView) findViewById(R.id.tv4);
- tv1.setTag("tag1");
- tv2.setTag("tag2");
- tv3.setTag("tag3");
- tv4.setTag("tag4");
- tv1.setOnClickListener(this);
- tv2.setOnClickListener(this);
- tv3.setOnClickListener(this);
- tv4.setOnClickListener(this);
- }
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.tv1:
- ((TextView)tv1.findViewWithTag("tag1")).setText("变化后的tag1");
- break;
- case R.id.tv2:
- ((TextView)tv2.findViewWithTag("tag2")).setText("变化后的tag2");
- break;
- case R.id.tv3:
- ((TextView)tv3.findViewWithTag("tag3")).setText("变化后的tag3");
- break;
- case R.id.tv4:
- ((TextView)tv4.findViewWithTag("tag4")).setText("变化后的tag4");
- break;
- }
- }
- }
就是一个布局中四个textview而已,没啥讲的!

浙公网安备 33010602011771号