android - 在 DialogFragment 中单击 "Cancel"按钮后如何启动软键盘?

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

最佳答案

我猜你正试图再次显示键盘,因为你有一个小部件需要在对话框关闭后进行编辑。

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

希望这对您有所帮助。

关于android - 在 DialogFragment 中单击 "Cancel"按钮后如何启动软键盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30363793/

相关文章:

hyperlink - Chart.js - 单击图表中的特定部分时链接到其他页面

java - 机器人 :geo Location using intent

java - Android PDF 渲染

android - 在 Android 的音乐播放器中播放音频文件

android - 在 MPAndroidChart 库的 BarChart View 上设置新数据时的左填充

iphone - 将 UIActivityIndi​​cator 添加到 View 时出现问题!

javascript - 未捕获的类型错误 : Cannot read property 'app' of undefined

android - 使用改造的 api 调用在 android 中不起作用

android - 使用 OpenGL 着色器模拟调色板交换(在 LibGDX 中)

android - 为什么 Android 不使用 196x196 图标?