3
我是android開發新手。我正在做一個將經歷一些過程的應用程序,並且在這個過程中發生了一些事情。所以我希望在我的活動屏幕上有一個可視控制檯來查看發生了什麼。這個想法是一個textview插入行,它必須始終在最後一行刷新,並能夠滾動到開始。控制檯textview android
我該如何在代碼中做到這一點?
感謝
我是android開發新手。我正在做一個將經歷一些過程的應用程序,並且在這個過程中發生了一些事情。所以我希望在我的活動屏幕上有一個可視控制檯來查看發生了什麼。這個想法是一個textview插入行,它必須始終在最後一行刷新,並能夠滾動到開始。控制檯textview 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)
。
謝謝!我要去嘗試一下。但是,爲什麼你在scrollview中寫了兩次layout_weight?謝謝 – Frion3L
* W * eight和* H * eight;)重量有點特別,它與外部佈局有關,用於阻止視圖佔用所有可用空間 - 但它依賴於佈局中的其他視圖 – Guillaume