Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android TextView将文本插入到开始将文本视图滚动到最开始_Android_Textview - Fatal编程技术网

Android TextView将文本插入到开始将文本视图滚动到最开始

Android TextView将文本插入到开始将文本视图滚动到最开始,android,textview,Android,Textview,我正试图展示一本书的页数。为此,我使用一个文本视图。当用户向下滚动并到达底部时,我会将新文本附加到现有的TextView中。用户可以毫无阻碍地继续阅读文本 当用户向上滚动时,我也在尝试这样做。当用户到达他之前阅读的文本的开始部分时,我尝试在开始部分添加一些文本 例如,假设我有100行文本要显示。我在第一个实例中仅显示20行。因此,当用户打开应用程序时,我显示了第41-60行。现在,当用户到达第60行时,我将第61-80行添加到屏幕上。我用这条线 txt_MyText.append(getReso

我正试图展示一本书的页数。为此,我使用一个文本视图。当用户向下滚动并到达底部时,我会将新文本附加到现有的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会将其位置重置为最开始的位置。我不希望文本视图自动向上滚动到顶部

我怎样才能做到这一点

这是我的布局

<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());