在 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()
哟适合您的需要。
我的程序中有一个带有线性布局的滚动视图。我将 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()
哟适合您的需要。