2013-01-31 49 views
0

我有一個editText,它填滿了一半的屏幕寬度,以及它的所有高度。當我向文本添加文本時,文本總是從編輯文本高度的中間開始,當它到達editText的邊緣時,文本會一直寫入,並向右滾動。我想讓它走到一條新線,爲什麼不是這樣?爲什麼它會一半下降?目前左側的文本應該複製在右側。 AppendToEMulator寫入到終端罰款,但是當我在右邊的editText安裝文本中沒有收到任何字節的新行,可能是因爲我將它轉換爲字符串,也沒有從editText結束時到達,只是繼續向右走。editText只寫在一行上,向右滾動?

<jackpal.androidterm.emulatorview.EmulatorView 
     android:id="@+id/emulatorView" 
     android:layout_width="500dp" 
     android:layout_height="wrap_content" 

     android:layout_above="@+id/term_entry" 
     android:layout_below="@+id/deviceConnect" 
     android:layout_toRightOf="@+id/scrllyout" 
     android:focusable="true" 
     android:focusableInTouchMode="true" /> 

    <EditText android:id="@+id/outputBox" 
     android:layout_toRightOf="@+id/emulatorView" 
     android:layout_alignParentRight="true" 
     android:layout_width="200dp" 
     android:layout_height="fill_parent" 
     android:background="#ffffff" 
     android:textColor="#FF043241" 
     android:inputType="text|textImeMultiLine" /> 

在Java:

public void onDataReceived(int id, byte[] data) { 

     dataReceived = new String(data); 
     dataReceivedByte = dataReceived.getBytes(); 
     statusBool = true; 
     ((MyBAIsWrapper) bis).renew(data); 


    runOnUiThread(new Runnable(){ 

     @Override 
     public void run() { 

      mSession.appendToEmulator(dataReceivedByte, 0, dataReceivedByte.length); 


     }}); 


    final String ReceivedText = mReceiveBox.getText().toString() + " " 
      + new String(data); 
    runOnUiThread(new Runnable() { 
     public void run() { 
      mReceiveBox.setText(ReceivedText); 
      mReceiveBox.setSelection(ReceivedText.length()); 

     } 
    }); 

    viewHandler.post(updateView); 





} 

enter image description here

+0

請閱讀有關TextView的屬性。 EditText繼承它們。 http://developer.android.com/reference/android/widget/TextView.html – Simon

回答

0

的回答是,設定一個的inputType通過禁用自動換行:

android:singleLine="true" 

即使我指定

android:singleLine="false" 

它仍然被覆蓋。 因爲我不需要輸入editText,我只是刪除了輸入類型。