当前位置: 首页 > 知识库问答 >
问题:

在碎片替换时显示/隐藏Android软键盘

沈单弓
2023-03-14

我有一个有碎片的活动。让我们假设一个带有事物列表的列表片段。现在我想让用户添加一个东西,所以我使用FragmentManager将列表片段替换为具有EditText的insert片段。EditText具有焦点并且光标正在闪烁。但软键盘打不开。同样的事情反过来:如果用户输入了新的东西并将其添加到列表中,我将插入片段替换回列表片段。但尽管不再有EditText了,键盘却无法关闭。

对此,正确的实施方式是什么?我不敢相信我必须在所有的过渡上手动显示和隐藏键盘?!

共有1个答案

华景焕
2023-03-14

我会做以下事情:1。扩展fragment
2。重写onattach()ondetach()回调
3。实现显示和隐藏软件键盘方法

示例代码:

class MyFragment extends Fragment {
   @Override
   public void onAttach(Activity activity) {
       super.onAttach(activity);

       //show keyboard when any fragment of this class has been attached
       showSoftwareKeyboard(true);
   }

   @Override
   public void onDetach() {
       super.onDetach();

       //hide keyboard when any fragment of this class has been detached
       showSoftwareKeyboard(false);
   }

   protected void showSoftwareKeyboard(boolean showKeyboard){
       final Activity activity = getActivity();
       final InputMethodManager inputManager = (InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE);

       inputManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), showKeyboard ? InputMethodManager.SHOW_FORCED : InputMethodManager.HIDE_NOT_ALWAYS);
   }
}
 类似资料:
  • 有很多关于查找显示/隐藏软键盘事件的帖子。我发现自己的处境是,我需要根据软键状态在片段中更改图标。 我试图实现onMeasure,但我无法在片段中覆盖它。是否有一种(相对)无痛的方式可以在我的片段中获得清晰的显示/隐藏软键盘事件,或者我应该放弃?

  • 我的问题是我需要知道键盘隐藏和显示事件,如何找出这一点?

  • 我的目标是实现大多数消息传递应用程序(如Facebook Messenger、Viber、What's up)在显示附件表时所做的事情。如果软键盘可见并且用户想要附加某些东西,则键盘是隐藏的,附件表会在其位置呈现。 为了实现这一点,应该在根视图大小更改时更改布局。否则,在显示/隐藏键盘之前不久应用布局更改时,就会出现图形故障。 如果我可以在键盘隐藏的确切时刻更改我的布局,我可以把它做好。我尝试过使

  • 我正在开发包含2个片段的应用程序,我想根据需要显示隐藏。下面的代码有一个简单的例子来说明我的问题。这个简单的Fragmentactivity包含一个按钮和一个listfragment。 这个简单的例子完美无瑕。但我不满足于展示隐藏片段。如果删除布局。设置可见性(View.GONE);然后从代码中选择ft.hide(f);不会隐藏碎片。事实上,我们不是在隐藏片段,而是在隐藏容器。 我的问题是,这是一

  • 问题内容: 首先,我已经看到了该线程。我尝试了那里给出的可接受的方法。 我的应用程序中有两个屏幕。 第一个有2个EditText,一个是用户名,另一个是密码 第二个有一个ListView和一个EditText-过滤listView 在我的第一个屏幕中,我希望用户名EditText专注于启动,并且Keyboard应该可见。这是我的实现(通过删除不必要的/不相关的代码进行简化)。 app_login.

  • 本文向大家介绍Android Dialog中软键盘的显示与隐藏的示例,包括了Android Dialog中软键盘的显示与隐藏的示例的使用技巧和注意事项,需要的朋友参考一下 1.写在前面 本篇的主要内容是关于在Dialog中软键盘的显示与隐藏问题,需求是在Dialog中有一个密码输入框,弹出Dialog显示软键盘,关闭Dialog隐藏软键盘。 嗯,是不是有点简单,不过在实现的过程中还是遇到了一些问题