Fragment.java 文件:
....
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.skyfrag_layout, container, false);
getDialog().setTitle("Delete skycard");
Button btnCancel = (Button) rootView.findViewById(R.id.btnCancel);
btnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getDialog().cancel();
}
});
...
我在 onClick 函数中尝试了以下各项,但均无效。
1) getDialog().getWindow().setSoftInputMode( LayoutParams.SOFT_INPUT_STATE_VISIBLE);
2)InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
最佳答案
我猜你正试图再次显示键盘,因为你有一个小部件需要在对话框关闭后进行编辑。
您是否尝试过调用 showSoftInputFromInputMethod (IBinder token, int flags)
而不是 toggleSoftInputFromWindow
?请参阅文档 here .
(注:IBinder可以通过yourView.getWindowToken()获取)
希望这对您有所帮助。
关于android - 在 DialogFragment 中单击 "Cancel"按钮后如何启动软键盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30363793/