我是新手Android开发者。我正在做一个应用程序,它将经过一些流程,在流程中会发生一些事情。因此,我希望在我的活动屏幕上有一个可视化控制台,以查看正在发生的情况。想法是一个文本视图,我插入行,它必须始终在最后一行刷新,并且能够滚动到开始。
我如何在代码中实现这个功能?
谢谢
我是新手Android开发者。我正在做一个应用程序,它将经过一些流程,在流程中会发生一些事情。因此,我希望在我的活动屏幕上有一个可视化控制台,以查看正在发生的情况。想法是一个文本视图,我插入行,它必须始终在最后一行刷新,并且能够滚动到开始。
我如何在代码中实现这个功能?
谢谢
TextView
,在一个ScrollView
中,它会按照你想要的方式运行。唯一需要做的是确保每次不覆盖现有文本,而是将其附加到末尾。保留对TextView
实际内容的引用(一个简单的String
就可以),并相应地更新它,然后使用myTextView.setText(newValue)
当你设置TextView
的文本时,视图会自动刷新。<ScrollView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</ScrollView>
在你的活动中,当你想要将newText
添加到你的视图中:
this.currentText += "\n" + newText;
final TextView myTextView = (TextView) findViewById(R.id.textView);
myTextView.setText(currentText);
最后,我建议您向下滚动到最后一行:在ScrollView
上调用fullScroll(View.FOCUS_DOWN)
。