【问题标题】:How to make EditText view get focus and SoftKeyboard input in Presentation(Duel Screen)?如何使 EditText 视图在演示文稿(决斗屏幕)中获得焦点和软键盘输入?
【发布时间】:2019-01-29 21:47:13
【问题描述】:
  1. 我正在使用AndroidPresentation在双屏之间呈现不同的内容。
  2. 我的计划是让外部显示器呈现EditText 视图,Android 设备的主屏幕呈现软键盘并获得EditText 视图焦点以进行输入。

我尝试使用EditText.requestFocus()InputMethodManager 打开软键盘。

PS:不要告诉我使用onKeyDown监听器和TextView.append()

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;
}

软键盘可以出现在主屏幕上,但EditText 无法获得输入。

【问题讨论】:

    标签: java android android-layout android-fragments


    【解决方案1】:

    SoftKeyboard 可以出现在主屏幕上,但 EditText 无法获得输入。

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

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

    如果满足以下条件,您应该能够得到类似的东西:

    或者,您需要在主屏幕的EditText 上使用TextWatcher 之类的内容,并将输入的文本复制到PresentationEditText 上。这类似于您似乎不喜欢的“onKeyDown 侦听器和 TextView.append()”方法。

    【讨论】:

    • 我知道你的MirroringFrameLayout,这太棒了,我喜欢它。但这一次我需要按照我说的去做。我对Presentation 做了一些研究,我发现在'Presentation'中所有视图都保持原始属性,他们的监听器正在工作,所以我在外部显示器上做了一个鼠标课程来模拟点击事件,它有效! TextView 可以点击,但我不知道为什么requestFocus() 不起作用
    猜你喜欢
    • 1970-01-01
    • 2016-05-20
    • 2023-04-03
    • 2017-10-23
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多