editText只在一行上写,向右滚动?

时间:2013-01-31 14:52:48

标签: java android android-edittext

我有editText填充屏幕宽度的一半,以及所有高度。当我向其附加文本时,文本总是在编辑文本高度的中间开始,当它到达editText的边缘时,它会一直写入,向右滚动。我想要它去一个新的线,为什么不呢?为什么它从一半开始?目前左侧的文本应该在右侧复制。 AppendToEMulator很好地写入终端,但是当我在右边的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

1 个答案:

答案 0 :(得分:0)

答案是设置inputType会通过以下方式禁用wordwrap:

android:singleLine="true"

即使我指定

android:singleLine="false"

它仍然被覆盖了。 因为我不需要输入editText我只是删除了输入类型。