У меня есть действие, которое содержит только панель инструментов и EditText.Я некоторое время искал решение (несколько дней), но ничего не нашел.Вот мой xml:
<AppCompatEditText
android:id="@+id/contentedittext"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="start|top"
android:inputType="textMultiLine"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/appBarLayout" />
Я прочитал, что эту проблему нужно решить после изменения типа ввода на 'singleLine', но мне нужно, чтобы мой EditText был многострочным.В моем Java-коде я установил OnEditorActionListener для перехвата возможных нажатий (программная клавиатура), но он не запускается, и это м проблема
Вот мой код Java
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(Theme.getCurrentAppTheme(this));
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_vr);
setSupportActionBar(findViewById(R.id.editor_toolbar));
res = getResources();
edit_area = findViewById(R.id.contentedittext);
edit_area.addTextChangedListener(editorWatcher);
edit_area.setOnEditorActionListener(mEditorActionListener);
try {
edit_area.setText(initFile().toString());
} catch (IOException e) {
Log.e(LOGTAG,e.getLocalizedMessage(),e);
}
}
private TextView.OnEditorActionListener mEditorActionListener = new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
Log.d(LOGTAG, "editoraction");
int pointerPos = edit_area.getSelectionStart();
SpannableStringBuilder editable = new SpannableStringBuilder(edit_area.getText().toString());
if (keEvent.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
Log.d(LOGTAG, "enter");
return true;
}
return false;
}};