Если у вас есть простой 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);
И, наконец, я бы также порекомендовал прокрутить вниз до последней строки: позвоните fullScroll(View.FOCUS_DOWN)
на ScrollView
.