在我的xml(activity_main.xml)中有4个Textviews。
Textview textview1,textview2,textview3,textview4。
并且值为value1,value2,value3,value4。
在MainActivity.java中 这是我的onCreate和onClick方法,
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv1=(TextView)findViewById(R.id.textView1);
TextView tv2=(TextView)findViewById(R.id.textView2);
TextView tv3=(TextView)findViewById(R.id.textView3);
TextView tv4=(TextView)findViewById(R.id.textView4);
tv1.setOnClickListener(this);
tv2.setOnClickListener(this);
tv3.setOnClickListener(this);
tv4.setOnClickListener(this);
}
public void onClick(View v) {
String value;
}
我想设置在我的onClick方法中单击的Textview的值
即,如果用户点击Textview1 ----- String value = value1
如果用户点击Textview2 ----- String value = value2
如果用户点击Textview3 ----- String value = value3
如果用户点击Textview4 ----- String value = value4
任何人都可以帮我解决这个问题。
答案 0 :(得分:1)
在v.getId()
方法中将视图ID设为onClick
,因此请使用
public void onClick(View v) {
switch(v.getId()) {
case R.id.textView1:
value = value1;
break;
case R.id.textView2:
value = value2;
break;
case R.id.textView3:
value = value3;
break;
case R.id.textView4:
value = value4;
break;
}
修改强>
正如Squonk建议您可以直接使用v.getText()
获取onClick
方法中的textviews值
public void onClick(View v) {
value = v.getText().toString();
}
答案 1 :(得分:1)
在所有textView
中的xml文件中设置标记喜欢
android:tag="value1"
for textView1
android:tag="value2"
for textView2
并获取String
String value= v.getTag().toString().trim();
答案 2 :(得分:0)
在onClick(View v)中,您可以使用v.getId()来了解已单击的视图的ID。
答案 3 :(得分:0)
尝试使用onClick()
方法中的代码........
public void onClick(View v){
switch (v.getId()) {
case R.id.textView1:
//your code;
break;
case R.id.textView2:
//your code;
break;
case R.id.textView3:
//your code;
break;
case R.id.textView4:
//your code;
break;
}
}
答案 4 :(得分:0)
首先,您需要将textViews的名称设为“
String text1 = tv1.getText().toString();
String text2 = tv2.getText().toString();
...... so on..
然后使用以下命令单击操作:
@Override
public void onClick(View v) {
if(v.getId() == R.id.textView1)
{
DoSomething();
return;
}
if(v.getId() == R.id.textView2)
{
DoSomething2();
return;
}
.......等......
答案 5 :(得分:0)
查看此代码:单击特定文本视图时,您将在字符串“value”中获取特定textview的值。
public class test extends Activity implements OnClickListener {
TextView tv1, tv2, tv3, tv4;
String value;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.textView1);
tv2 = (TextView) findViewById(R.id.textView2);
tv3 = (TextView) findViewById(R.id.textView3);
tv4 = (TextView) findViewById(R.id.textView4);
tv1.setOnClickListener(this);
tv2.setOnClickListener(this);
tv3.setOnClickListener(this);
tv4.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.textView1:
value = tv1.getText().toString();
break;
case R.id.textView2:
value = tv2.getText().toString();
break;
case R.id.textView3:
value = tv3.getText().toString();
break;
case R.id.textView4:
value = tv4.getText().toString();
break;
}
}
}
答案 6 :(得分:0)
当您执行各种操作时,每次TextView单击(不实现OnClickListener)都会尝试这种方式,希望这可以帮助您解决问题。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv1=(TextView)findViewById(R.id.textView1);
TextView tv2=(TextView)findViewById(R.id.textView2);
TextView tv3=(TextView)findViewById(R.id.textView3);
TextView tv4=(TextView)findViewById(R.id.textView4);
tv1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// write your TextView 1 click listener code here
}
});
tv2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// write your TextView 2 click listener code here
}
});
tv3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// write your TextView 2 click listener code here
}
});
tv4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// write your TextView 4 click listener code here
}
});
}