2
我在ScrollView內部有一個EditText,其中預先填充了大量文本。它可以是一行或50或更多。此時,EditText是不可編輯的,文本顯示得很好。但是,當我按下一個按鈕以使編輯文本可編輯時,EditText的全部內容將被扔進一條很長的水平滾動線。當帶預填充文本的EditText變爲可編輯時,所有文本都會移動到一行上
你可以看到正是我在這裏談論: https://zippy.gfycat.com/GenerousBigHerring.webm
我怎樣才能防止這種情況發生?現在我一直在使用這個技術。我試過設置線條和maxLines等,但我無法弄清楚。
編輯:
這是我當前的滾動型/ EditText上:
<ScrollView
android:id="@+id/result_text_scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/result_title_text"
android:layout_above="@+id/result_bottom_sheet"
android:layout_marginTop="20dp"
android:padding="5dp">
<EditText
android:id="@+id/extracted_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:padding="15dp"
tools:text="Hello, World"
android:textColor="@color/black"
android:textStyle="bold"
android:textSize="@dimen/extracted_text_size"
android:textIsSelectable="true"
android:inputType="none"
/>
</ScrollView>
從代碼,這裏是我在做什麼,以使能/禁止編輯:
@Override
public void enableTextEditing() {
mExtractedText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
mExtractedText.setOnKeyListener(this);
}
@Override
public void disableTextEditing() {
mExtractedText.setInputType(InputType.TYPE_NULL);
mExtractedText.setOnKeyListener(null);
}
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if (keyEvent.getAction() == KeyEvent.ACTION_DOWN && keyEvent.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
//All this does is call the View methods to disable text editing
//and close the keyboard.
mPresenter.doneEditingButtonPressed();
return true;
}
return false;
}
安置自己的Java和XML代碼,你有什麼到目前爲止已經試過? – FAT
你是否檢查enableTextEditing()是否被調用? –