0

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);





}

ここに画像の説明を入力

4

1 に答える 1

0

答えは、inputType を設定すると、次の方法でワードラップが無効になるというものでした。

android:singleLine="true"

指定しても

android:singleLine="false"

それはまだオーバーライドされていました。入力する必要がないので、editText単に入力タイプを削除しました。

于 2013-01-31T15:33:06.693 に答える