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