SetMovementMethods - ScrollingMovementMethod 和 LinkMovementMethod

SetMovementMethods - ScrollingMovementMethod with LinkMovementMethod

我是 Android Studio/Java 的新手。我编写了一个脚本,该脚本创建了一个包含多行信息的 TextView。我想让每一行都可以点击,例如创建一个 Toast 对话框,其中的内容与该条目相关。这个我可以做到。

我还希望 TextView 可以滚动。我也能做到这一点......但不能两者兼得。

根据我所读到的内容,我猜测一个命令取消了另一个。这是我要使用的代码。还有其他方法可以启用此功能吗?

responseTextView.setMovementMethod(new ScrollingMovementMethod()); responseTextView.setMovementMethod(LinkMovementMethod.getInstance()); responseTextView.setText(builder, TextView.BufferType.SPANNABLE);

我通过更改 activity_main.xml 将 TextView 放置在 ScrollView 控件中找到了答案。

<ScrollView android:visibility="visible"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:keepScreenOn="true"
android:scrollbarStyle="insideInset"
android:id="@+id/scrollView1"
android:scrollbars="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnSearch" >

<TextView
    android:id="@+id/lblOutput"
    android:isScrollContainer="true"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scrollbarStyle="outsideOverlay"
    android:scrollbars="vertical"
    android:text="Awaiting Results..."
    android:verticalScrollbarPosition="right"
    android:layout_gravity="top"
    android:keepScreenOn="true"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/btnSearch" />

</ScrollView>