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);
答案 0 :(得分:1)
我猜你是想再次显示键盘,因为你的对话框关闭后你需要编辑一个小部件。
您是否尝试过调用showSoftInputFromInputMethod (IBinder token, int flags)
而不是toggleSoftInputFromWindow
?请参阅文档here。
(注意:IBinder可以通过yourView.getWindowToken()获得)
希望这有帮助。