我的第一个Android应用程序有点问题:
我创建了一个包含TextView的ScrollView。 每次按下按钮时,ScrollView都应滚动到TextView的末尾(因此在ScrollView的底部),因此实际添加的文本在视图中。
该应用程序是通过按下按钮简单地向TextView添加笔划(如此 - >>'我')。
实际上它是第一次按下(就像它应该),第二次按下(为什么?),第三次按下(就像它应该),第四次回到顶部(为什么?)等等...... / p>
@Override
public void onClick(View v) {
zaehler += 1;
textviewStriche.setTextIsSelectable(true);
if (zaehler % 5 == 0) {
textviewStriche.setText(striche, TextView.BufferType.SPANNABLE);
Spannable spannable = (Spannable) textviewStriche.getText();
spannable.setSpan(STRIKE_THROUGH_SPAN, 0, striche.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
striche += " ";
} else {
striche += "I";
textviewStriche.setText(striche, TextView.BufferType.SPANNABLE);
Spannable spannable = (Spannable) textviewStriche.getText();
if (striche.length()>4) {
spannable.setSpan(STRIKE_THROUGH_SPAN, 0, ((zaehler / 5)*5-1), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
String zaehlerstr = String.valueOf(zaehler);
textviewZaehler.setText(zaehlerstr);
scrollview.fullScroll(ScrollView.FOCUS_DOWN);
}
已经搜索过问题并尝试使用
scrollview.post(new Runnable() {
public void run() {
scrollview.scrollTo(scrollview.getBottom(),scrollview.getBottom());
}
});
或
scrollview.pageScroll(ScrollView.FOCUS_DOWN);
而不是
scrollview.fullScroll(ScrollView.FOCUS_DOWN);
但它也没有用。
我认为它是由spannable引起的,因为没有它正常工作,但我无法弄清楚问题是什么,如果它在那里。
提前谢谢!
答案 0 :(得分:0)
ScrollView scrollview = ((ScrollView) findViewById(R.id.scrollview));
scrollview.post(new Runnable() {
@Override
public void run() {
scrollview.fullScroll(ScrollView.FOCUS_DOWN);
}
});
这应该有效,我可以正常工作......