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