在DialogFragment中单击“取消”按钮后,如何启动软键盘?

时间:2015-05-21 02:57:27

标签: android view onclick android-softkeyboard android-dialogfragment

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);

1 个答案:

答案 0 :(得分:1)

我猜你是想再次显示键盘,因为你的对话框关闭后你需要编辑一个小部件。

您是否尝试过调用showSoftInputFromInputMethod (IBinder token, int flags)而不是toggleSoftInputFromWindow?请参阅文档here。 (注意:IBinder可以通过yourView.getWindowToken()获得)

希望这有帮助。