我正在尝试显示书籍的页面。为此,我使用单个TextView。当用户向下滚动并到达底部时,我将新文本添加到现有的TextView中。用户可以继续阅读文本而没有任何障碍。Android TextView插入文本到开始滚动文本视图到开始
我想在用户滚动时做同样的事情。当用户到达他先前阅读的文本的开始部分时,我正尝试在开始时添加一些文本。
例如,假设我有100行文字要显示。一次只显示20行。因此,当用户打开应用程序时,我显示了第41 - 60行。现在,当用户到达第60行时,我将第61-80行添加到屏幕上。我这样做,使用这一行,
txt_MyText.append(getResources().getString(R.string.dummy_text1));
现在说,如果用户滚动起来,达到41行,我要显示的行21 - 40。对于这一点,我用这一段代码,
txt_MyText.getEditableText().insert(0, getResources().getString(R.string.dummy_text0));
这工作正常,但添加文本后,TextView将其位置重置到最初。我不希望TextView自动滚动到顶部。
我该如何做到这一点?
这里是我的布局,
<com.abc.book.utils.NesterScrollView
android:id="@+id/readerScroll"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWhite"
>
<!-- TODO: Update blank fragment layout -->
<TextView
android:id="@+id/txt_MyText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:textSize="14pt"
android:textIsSelectable="true"
android:fadeScrollbars="false"
android:text="@string/dummy_text"/>
</com.abc.book.utils.NesterScrollView>
同样在码,我初始化这样TextView的,
txt_MyText.setMovementMethod(new ScrollingMovementMethod());
如何解决我的问题,当我添加文本它不是滚动结束但只有当我添加到开始。在开始插入文本时如何防止滚动?