Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 为什么softkeyboard不会在带有WebView的Fragment中显示大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用兼容包,我有一个片段,它在onCreateView中返回一个WebView.问题是如果在活动的onCreate期间没有添加片段,那么当在WebView内部单击文本框时,不会显示键盘.如果在添加自定义Web片段后旋转设备,则重新创建活动,然后在单击文本字段时显示键盘.

只是要清楚以下是两种不同的场景

public void onCreate(Bundle statE){
   if(state == null){
      WebFragment web = new WebFragment();
      getSupportFragmentManager.begintransaction().add(android.R.id.content,web).commit();
   }
}



public void onClick(View v){
      WebFragment web = new WebFragment();
      getSupportFragmentManager.begintransaction().add(android.R.id.content,web).commit();
}

在第一种情况下,在Activity onCreate方法添加片段时,片段中包含的WebView在按下文本字段时应该正常工作.但是,在第二个示例中,单击webview中的文本字段时没有任何反应,除非在显示webview后旋转设备.有人可以提供一个解决方案,如果我必须为我的片段创建一个新的活动才能正常工作,它首先要胜过片段的目的.

解决方法

将其添加到Fragment的onCreateView方法
webview.setOnTouchListener(new View.onTouchListener() {
    public Boolean onTouch(View v,MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
            case MotionEvent.ACTION_UP:
                if (!v.hasFocus()) {
                    v.requestFocus();
                }
                break;
        }
        return false;
    }
});

测试了android 2.3.3和3.2.0.

基于issue #7189StackOverflow

大佬总结

以上是大佬教程为你收集整理的android – 为什么softkeyboard不会在带有WebView的Fragment中显示全部内容,希望文章能够帮你解决android – 为什么softkeyboard不会在带有WebView的Fragment中显示所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。