Android TextView将文本插入到开始将文本视图滚动到最开始
我正试图展示一本书的页数。为此,我使用一个文本视图。当用户向下滚动并到达底部时,我会将新文本附加到现有的TextView中。用户可以毫无阻碍地继续阅读文本 当用户向上滚动时,我也在尝试这样做。当用户到达他之前阅读的文本的开始部分时,我尝试在开始部分添加一些文本 例如,假设我有100行文本要显示。我在第一个实例中仅显示20行。因此,当用户打开应用程序时,我显示了第41-60行。现在,当用户到达第60行时,我将第61-80行添加到屏幕上。我用这条线Android TextView将文本插入到开始将文本视图滚动到最开始,android,textview,Android,Textview,我正试图展示一本书的页数。为此,我使用一个文本视图。当用户向下滚动并到达底部时,我会将新文本附加到现有的TextView中。用户可以毫无阻碍地继续阅读文本 当用户向上滚动时,我也在尝试这样做。当用户到达他之前阅读的文本的开始部分时,我尝试在开始部分添加一些文本 例如,假设我有100行文本要显示。我在第一个实例中仅显示20行。因此,当用户打开应用程序时,我显示了第41-60行。现在,当用户到达第60行时,我将第61-80行添加到屏幕上。我用这条线 txt_MyText.append(getReso
txt_MyText.append(getResources().getString(R.string.dummy_text1));
现在假设用户向上滚动到第41行,我想显示第21-40行。为此,我使用了这段代码
txt_MyText.getEditableText().insert(0, getResources().getString(R.string.dummy_text0));
这很好,但添加文本后,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>
如何解决我的问题,当我将文本添加到末尾时,它不会滚动,而是仅当我添加到开头时。如何防止在开始插入文本时出现滚动?我理解您的代码的方式是,每次用户到达末尾时都会追加行,但不会删除旧文本。 因此,这意味着您不希望在用户返回上一“页面”时再次插入文本。否则会有重复的。 您还在0处插入,这意味着它将在最开始插入 你能做的就是跳到一条特定的线。我建议尝试类似的方法:
txt_MyText.setMovementMethod(new ScrollingMovementMethod());