我的程序中有一个滚动视图,其中包含一个线性布局。我将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***)
}
};
答案 0 :(得分:1)
在类级别声明一个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);
这样,每次您点击text
时,变量TextView
都会获得被点击的TextView
的文本。
您可以根据自己的需要在onClick()
中自定义代码。