Android ScrollView的文本视图问题中的可单击范围
我有一个文本视图片段,其中有一个可点击单词列表。包含在RelativeLayoutThant中的textview可通过scrollview滚动。 如果使用scrollview,则很难处理可单击范围上的单击事件,但如果删除scrollview,则单击事件会正常工作 这是布局代码Android ScrollView的文本视图问题中的可单击范围,android,android-layout,android-scrollview,Android,Android Layout,Android Scrollview,我有一个文本视图片段,其中有一个可点击单词列表。包含在RelativeLayoutThant中的textview可通过scrollview滚动。 如果使用scrollview,则很难处理可单击范围上的单击事件,但如果删除scrollview,则单击事件会正常工作 这是布局代码 <ScrollView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id=
<ScrollView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:id="@+id/scroll1"
android:scrollbars="vertical"
android:fadingEdge="vertical">
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"
android:padding="40dp">
<RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content"
android:id="@+id/sinonimiContainer"
android:background="@drawable/layerlist"
android:layout_centerHorizontal="true">
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
android:id="@+id/titolo"
android:text="@string/titoloSinonimi"
android:textSize="60sp"
android:paddingBottom="25dp"
android:paddingTop="30dp"
android:paddingLeft="50dp"
android:textColor="@color/nero"/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:id="@+id/txtSinonimi"
android:textColor="@color/nero"
android:textSize="27sp"
android:paddingBottom="30dp"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:clickable="true"
android:layout_below="@id/titolo" />
</RelativeLayout>
</RelativeLayout>
</ScrollView>
我如何在scrollview中使用我的文本视图和可点击的范围???“很难”这是什么意思?看看这个线程,也许这可以帮助你更好地理解你的问题,你在那里找不到解决方案…很难,这意味着它每4次工作一次,它在textview的底部可以正常工作,但在顶部不能。试着用textview作为ScrollView的唯一子视图来复制它,看看它是否正常工作same@pskink它现在可以正常工作了,但是我需要文本视图周围的相对布局。
private void setParole(String parole)
{
parole = parole.trim();
Spannable spans;
txtSinonimi.setText(parole, TextView.BufferType.SPANNABLE);
spans = (Spannable) txtSinonimi.getText();
String[] fields = parole.split(", ");
for (String word: fields)
{
word = word.trim();
if ( Character.isLetterOrDigit(word.charAt(0))) {
ClickableSpan clickSpan = getClickableSpan(word);
int index = parole.indexOf(word);
spans.setSpan(clickSpan, index, index + word.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
txtSinonimi.setMovementMethod(LinkMovementMethod.getInstance());
}
/* evento click sulla parole/link */
private ClickableSpan getClickableSpan(final String word) {
return new ClickableSpan() {
final String mWord;
{
mWord = word;
}
@Override
public void onClick(View widget)
{
Intent intent = new Intent(getActivity(), SearchResult.class);
intent.putExtra(SearchManager.QUERY, mWord);
startActivity(intent);
}
};
}