Выравнивать только новый текст, введенный в EditText, игнорируя старый
if(position == 1) {
editText.setGravity(Gravity.CENTER);
editText.append("\n");
} else {
editText.setGravity(Gravity.START);
editText.append("\n");
}
Если position = 1, то по центру выравнивается ВЕСЬ текст(и к началу строки, если position != 1). Но мне нужно, чтобы выравнивался только нововведенный текст, игнорируя ранее написанный. Как я могу это реализовать?
Ответы (1 шт):
Автор решения: Maks
→ Ссылка
Есть вариант сделать 2 Edittext примерно вот так:
<LinearLayout
android:orientation="vertical">
<EditText
android:id="@+id/et1"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:nextFocusForward="@+id/et2"
android:background="@null"/>
<EditText
android:id="@+id/et2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:singleLine="false"/>
<LinearLayout>
суть в том что когда пользователь вводит данные в edittext1 и нажимает enter тогда его перекидывает на edittext2. Так же желательно добавить это в OnCreate что бы пользователь не смог начать писать сразу в edittext2:
EditText txtEdit1 = (EditText) findViewById(R.id.et1);
EditText txtEdit2 = (EditText) findViewById(R.id.et2);
txtEdit2.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus && txtEdit1.getText()!="") {
editText1.requestFocus();
}
}
});
Надеюсь вам поможет это решение