如何使EditText视图在Presentation(决斗屏幕)中获得焦点和软键盘输入?

时间:2019-01-29 21:47:14

标签: java android android-layout android-fragments

  1. 我正在使用Android background-image在双屏之间显示不同的内容。
  2. 我的计划是使外部显示器呈现Presentation视图,Android设备的主屏幕呈现软键盘并获得EditText视图焦点以进行输入。

我尝试使用EditTextEditText.requestFocus()打开SoftKeyboard。

PS:请不要告诉我使用InputMethodManager侦听器和onKeyDown

TextView.append()

SoftKeyboard可以显示在主屏幕上,但是public class MainPresentationFragment extends PresentationFragment { private EditText textView3; public MainPresentationFragment() {} public static MainPresentationFragment newInstance(Context context, Display display){ MainPresentationFragment mainPresentationFragment = new MainPresentationFragment(); mainPresentationFragment.setDisplay(context, display); return mainPresentationFragment; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { textView3 = rootView.findViewById(R.id.editText3); textView3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { textView3.requestFocus(); InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED); } return rootView; } 无法获得输入。

1 个答案:

答案 0 :(得分:1)

  

SoftKeyboard可以显示在主屏幕上,但是EditText无法获得输入。

正确。 Presentation仅用于输出。没有输入。

  

我的计划是使外部显示器呈现一个EditText视图,Android设备的主屏幕呈现一个SoftKeyboard,并获得EditText视图的焦点来进行输入。

如果出现以下情况,您应该能够得到类似的东西

或者,您需要在主屏幕的TextWatcher上使用类似EditText的东西,然后将输入的文本复制到Presentation的{​​{1}}上。这类似于您似乎不喜欢的“ onKeyDown侦听器和TextView.append()”方法。