如何在片段中打开键盘
How to open keyboard in a fragment
片段启动时如何打开键盘?我已经尝试过此代码:
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view =inflater.inflate(R.layout.mylayout,container,false);
TextView TVLarghezza = (TextView) view.findViewById(R.id.larghezza);
TVLarghezza.requestFocus();
InputMethodManager imgr = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imgr.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
return view;
}
但是没用。我必须在启动时打开键盘。
可能问题是,在onCreateView中,视图还没有出现在屏幕上。
试试这个:
final TextView TVLarghezza = (TextView) view.findViewById(R.id.larghezza);
TVLarghezza.post(new Runnable() {
@Override
public void run() {
TVLarghezza.requestFocus();
InputMethodManager imgr = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imgr.showSoftInput(TVLarghezza, InputMethodManager.SHOW_IMPLICIT);
}
});
用于显示键盘使用:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
隐藏键盘用途:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(),0);
已更新
对于片段:
imgr.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
有同样的问题,尝试使用postDelayed
view.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager) mAppContext
.getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(view, 0);
}
}, 100);
片段启动时如何打开键盘?我已经尝试过此代码:
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view =inflater.inflate(R.layout.mylayout,container,false);
TextView TVLarghezza = (TextView) view.findViewById(R.id.larghezza);
TVLarghezza.requestFocus();
InputMethodManager imgr = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imgr.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
return view;
}
但是没用。我必须在启动时打开键盘。
可能问题是,在onCreateView中,视图还没有出现在屏幕上。
试试这个:
final TextView TVLarghezza = (TextView) view.findViewById(R.id.larghezza);
TVLarghezza.post(new Runnable() {
@Override
public void run() {
TVLarghezza.requestFocus();
InputMethodManager imgr = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imgr.showSoftInput(TVLarghezza, InputMethodManager.SHOW_IMPLICIT);
}
});
用于显示键盘使用:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
隐藏键盘用途:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(),0);
已更新
对于片段:
imgr.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
有同样的问题,尝试使用postDelayed
view.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager) mAppContext
.getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(view, 0);
}
}, 100);