在 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***)
    }
};

在class级别声明一个String变量:

private String text = "";

和一个View.OnClickListener变量:

private View.OnClickListener listener;

像这样初始化 activity 的 onCreate() 中的侦听器:

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

并且每次创建新的 TextView 时设置监听器:

textView.setOnClickListener(listener);

这样,变量 text 每次单击 TextView 时都会获取被单击的 TextView 的文本。
您可以自定义里面的代码 onClick() 哟适合您的需要。