Android scrollview 跳回顶部而不是底部

Android scrollview jumps back on top instead of bottom

我的第一个 android 应用程序有点问题:

我制作了一个包含 TextView 的 ScrollView。 每次我按下按钮时,ScrollView 都应该滚动到 TextView 的末尾(因此滚动到 ScrollView 的底部),因此实际添加的文本在视图中。

该应用程序是关于通过按一个按钮向 TextView 简单地添加笔划(像这样 -> 'I')。

实际上它会在第一次按下时跳下(就像它应该的那样),第二次按下时跳到顶部(为什么?),第三次向下按(就像它应该的那样),第四次回到顶部(为什么?)等等。 .

      @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 引起的,因为没有它可以正常工作,但我无法弄清楚问题是什么,如果它存在的话。

提前致谢!

ScrollView scrollview = ((ScrollView) findViewById(R.id.scrollview));
scrollview.post(new Runnable() {
@Override
public void run() {
    scrollview.fullScroll(ScrollView.FOCUS_DOWN);
}

});

这应该行得通,我用得很好...