Java 在android中使用该方法移动另一个选项卡后,如何隐藏键盘?
在android中使用该方法移动另一个选项卡后,如何隐藏键盘? 我的代码在选项卡中切换-如何隐藏keybordJava 在android中使用该方法移动另一个选项卡后,如何隐藏键盘?,java,android,android-studio,android-fragments,tabs,Java,Android,Android Studio,Android Fragments,Tabs,在android中使用该方法移动另一个选项卡后,如何隐藏键盘? 我的代码在选项卡中切换-如何隐藏keybord public Fragment getItem(int position) { Fragment fragment = null; switch (position){ case 0: fragment = new Tab1Fragment(); break;
public Fragment getItem(int position) {
Fragment fragment = null;
switch (position){
case 0:
fragment = new Tab1Fragment();
break;
case 1:
fragment = new Tab2Fragment();
break;
default:
fragment = null;
break;
}
return fragment;
}
将下面的代码以片段形式放入onCreate()中
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);// for hide keypad
我是用以下方法做的:
public void hideSoftKeyboard(View viewFocus) {
// Check if no view has focus:
if (viewFocus != null) {
InputMethodManager imm = (InputMethodManager) viewFocus.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(viewFocus.getWindowToken(), 0);
}
}
在Activity/Fragment中调用此方法,如下所示:
hideSoftKeyboard(getCurrentFocus())
希望它能帮助你 您可以使用此方法隐藏键盘:
public static void hideKeyboard(Activity act){
View view = act.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager)act.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
无论你在什么地方开始你的工作,都可以这样称呼它,比如:
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
hideKeyboard(myActivity);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
您是否尝试过在单击另一个片段时以编程方式关闭键盘?关于主要活动?@AlhamsyaBintangDyasta在每个片段的创建视图中