2011-12-01 44 views
3

我是android開發新手。我正在做一個將經歷一些過程的應用程序,並且在這個過程中發生了一些事情。所以我希望在我的活動屏幕上有一個可視控制檯來查看發生了什麼。這個想法是一個textview插入行,它必須始終在最後一行刷新,並能夠滾動到開始。控制檯textview android

我該如何在代碼中做到這一點?

感謝

回答

4

如果你有一個簡單的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)

+0

謝謝!我要去嘗試一下。但是,爲什麼你在scrollview中寫了兩次layout_weight?謝謝 – Frion3L

+0

* W * eight和* H * eight;)重量有點特別,它與外部佈局有關,用於阻止視圖佔用所有可用空間 - 但它依賴於佈局中的其他視圖 – Guillaume