问题
I have some TextView
and each have an OnClickListener
. I would like get information in this method to TextView
TextView tv2 = new TextView(this,(String)book.get(i),this);
tv2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Contact.this,Discution.class);
//String str = this.getText(); //like this
startActivity(intent);
}
});
How can I do : this.getText();
in an OnClickListener
?
回答1:
tv2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Contact.this,Discution.class);
String str = tv2.getText().toString();
startActivity(intent);
}
回答2:
This is wrong
TextView tv2 = new TextView(this,(String)book.get(i),this);
You will need TextView to be final and the constructor should match any of the below
TextView(Context context)
TextView(Context context, AttributeSet attrs)
TextView(Context context, AttributeSet attrs, int defStyle)
It should be
final TextView tv2 = new TextView(this);
You are not using any of the above. Totally wrong
Then inside onClick
String str = tv2.getText().toString();
Its declared final cause you access tv2 inside annonymous inner class.
http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html#accessing
You can also use the View v
.
TextView tv = (TextView) v;
String str = tv.getText().toString();
回答3:
Just use: tv2
in place of this
.
回答4:
Use this
tv2.getText().toString;
来源:https://stackoverflow.com/questions/23060792/android-how-can-i-get-text-from-textview-in-onclick