我正在嘗試顯示書籍的頁面。爲此,我使用單個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());
如何解決我的問題,當我添加文本它不是滾動結束但只有當我添加到開始。在開始插入文本時如何防止滾動?