私は本のページを表示しようとしています。このために、私は単一のTextViewを使用しています。ユーザーがスクロールして下に達すると、既存のTextViewに新しいテキストを追加します。ユーザは何ら支障なくテキストを読み続けることができる。Android TextViewはテキストを最初に挿入します。テキストビューを最初からスクロールします
私はユーザーがスクロールアップしている間も同じことをしようとしています。ユーザーが先に読んだテキストの開始部分に達すると、最初にテキストを追加しようとしています。
例えば、100行のテキストを表示するとします。最初のインスタンスでは20行しか表示していません。だから、ユーザがアプリを開いたとき、私は41〜60行目を表示しました。ユーザが60行目に達すると、61〜80行目が画面に追加されます。 I今、ユーザーがスクロールした場合、最大言うと、ライン41に到達し、
txt_MyText.append(getResources().getString(R.string.dummy_text1));
をこの行を使用して、私はライン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>
コード内で、私は、私の問題を解決する方法
txt_MyText.setMovementMethod(new ScrollingMovementMethod());
、このようのTextViewを初期化し、私が最後にテキストを追加するとき、それはスクロールしていません私が最初に追加するときだけです。テキストが最初に挿入されたときのスクロールを防ぐには?