Как установить несколько imeOptions программно
Я FrameLayout
контейнер, в который я хочу добавить динамически EditText
. Мне нужно установить два imeOptions
: IME_ACTION_DONE
и IME_FLAG_NO_EXTRACT_UI
в это же время, но у меня есть проблема, как это сделать программно. Мое решение переопределяет мой imeOptions
(Я сейчас что есть хорошее поведение:) но я пробую все)
и мой второй вопрос: Как установить фокус после создания EditText программно? Этот метод editText.requestFocus();
Не работайте на меня. Я хочу открыть клавиатуру после postCardContainer.addView(editText);
postCardContainer.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.topMargin = (int) event.getY()-50;
params.leftMargin = (int) event.getX()-50;
EditText editText = new EditText(NewPostcardActivity.this);
editText.setSingleLine();
editText.setBackgroundResource(R.color.transparent);
editText.requestFocus();
editText.setLayoutParams(params);
editText.setCursorVisible(true);
editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
postCardContainer.addView(editText);
return false;
}
});
спасибо
1 ответов
попробуйте как ниже.
editText.setImeOptions(EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_EXTRACT_UI);