簡體   English   中英

在ScrollView / LinearLayout中獲得單擊的TextView?

[英]Get clicked TextView in ScrollView/LinearLayout?

我的程序中有一個帶有線性布局的滾動視圖。 我將TextView動態地添加到linearlayout中,但是我無法知道最終會得到多少TextView。 單擊某個TextView時,我需要獲取它的文本。 知道什么是最好的方法嗎?

提前致謝。

我嘗試將偵聽器添加到文本視圖,但是不確定如何獲取文本。 我在一些帖子中看到,您可以偵聽LinearLayour / ScrollView,盡管我不確定什么是最佳選擇。

每次添加消息時都會發生這種情況:

TextView messageText = new TextView(RecordedMessagesScreen.this);
messageText.setText(content);
messageText.setClickable(true);

messageText.setOnClickListener(RecordedMessagesScreen.this.textViewListener);
RecordedMessagesScreen.this.messagesLayout.addView(messageText);

這是監聽器:

this.textViewListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent data = new Intent();
        data.putExtra("message", ***NEED TO GET THE TEXT***)
    }
};

在類級別聲明一個String變量:

private String text = "";

和一個View.OnClickListener變量:

private View.OnClickListener listener;

在您的活動的onCreate()中初始化偵聽器,如下所示:

listener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        TextView tv = (TextView) v;
        text = tv.getText().toString();
    }
};

每次創建新的TextView都要設置偵聽器:

textView.setOnClickListener(listener);

這樣,每次單擊TextView時,可變text將獲得單擊的TextView的文本。
您可以在onClick()自定義代碼,以滿足您的需要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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