[英]Android, How can I get text from TextView in OnClick
我有一些TextView
並且每個都有一個OnClickListener
。 我想在這個方法中獲取信息到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);
}
});
我該怎么辦: this.getText();
在OnClickListener
?
這是錯誤的
TextView tv2 = new TextView(this,(String)book.get(i),this);
您將需要 TextView 為 final 並且構造函數應匹配以下任何一項
TextView(Context context)
TextView(Context context, AttributeSet attrs)
TextView(Context context, AttributeSet attrs, int defStyle)
它應該是
final TextView tv2 = new TextView(this);
您沒有使用上述任何一種。 完全錯誤
然后在onClick里面
String str = tv2.getText().toString();
它聲明的最終原因是您在匿名內部類中訪問 tv2。
http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html#accessing
您還可以使用View v
。
TextView tv = (TextView) v;
String str = tv.getText().toString();
tv2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Contact.this,Discution.class);
String str = tv2.getText().toString();
startActivity(intent);
}
只需使用: tv2
代替this
。
用這個
tv2.getText().toString;
假設您的布局中有這個:
<TextView android:id ="@+id/myText"
android:layout_width ="wrap_content"
android:layout_height="wrap_content"
android:textSize ="26dp"
android:text ="bla bla bla..."
android:textColor ="#0000ff"
android:clickable ="true"
android:onClick ="onMyClick"/>
現在讓我們在點擊時從myText元素中獲取文本內容
public void onMyClick(View v)
{
TextView t=(TextView)v;
String s=t.getText().toString();
//do whatever you want with the string s
}
注意布局元素上的布爾值android:clickable="true" [這是強制性的]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.