android view setTag()和findViewWithTag()

来源:互联网 发布:推广淘宝店 编辑:程序博客网 时间:2024/06/05 02:57

我们可能在有得需求情况下要给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);    }@Overridepublic 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而已,没啥讲的!

0 0
原创粉丝点击