簡體   English   中英

Android,如何在 OnClick 中從 TextView 獲取文本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM