Android soft Keyboard not open in webView`

后端 未结 5 682
轻奢々
轻奢々 2021-02-08 04:56

I m Using WebView in AlertDialog to authenticate user to twitter. but When i click on field in webview ,android keyboard doesnt open. here is my code that shows how i added webv

5条回答
  •  旧时难觅i
    2021-02-08 05:50

    I also suffer from this problem, I solved this problem by customizing Dialog, here is my custom dialog code, hope so this is use full for you.

        TwitterDialog fb=new TwitterDialog(this);
        fb.abc();
        //fb.dismiss();
    
    
    
    class TwitterDialog extends Dialog {
        Context context;
        String url="https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2";
         public TwitterDialog(Context context) {
                super(context);
                this.context=context;
            }
     void abc(){
                LinearLayout mContent = new LinearLayout(context);
                mContent.setOrientation(LinearLayout.VERTICAL);
                final float scale = context.getResources().getDisplayMetrics().density;
                float[] dimensions =new float[]{400.0f,500.0f};
    
                addContentView(mContent, new FrameLayout.LayoutParams(
                        (int) (dimensions[0] * scale + 0.5f),
                        (int) (dimensions[1] * scale + 0.5f)));
    
                FrameLayout.LayoutParams FILL =
                    new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
                                     ViewGroup.LayoutParams.FILL_PARENT);
                WebView mWebView = new WebView(context);
                mWebView.setVerticalScrollBarEnabled(false);
                mWebView.setHorizontalScrollBarEnabled(false);
                mWebView.setWebViewClient(new WebClicent());
                mWebView.getSettings().setJavaScriptEnabled(true);
                mWebView.loadUrl(url);
                mWebView.setLayoutParams(FILL);
                mContent.addView(mWebView);
    
                TwitterDialog.this.show();
            }
    
             class WebClicent extends WebViewClient{
    
                @Override
                public void onLoadResource(WebView view, String url) {
                    System.out.println("onLoadResource "+url);
                    super.onLoadResource(view, url);
                }
    
                @Override
                public void onPageFinished(WebView view, String url) {
                    System.out.println("onPageFinished "+url);
                                        //TwitterDialog.this.dismiss();
                    super.onPageFinished(view, url);
                }
    
                @Override
                public void onPageStarted(WebView view, String url, Bitmap favicon) {
                    System.out.println("onPageStarted "+url);
                    super.onPageStarted(view, url, favicon);
                }
    
             }
      }//TWitterDialog
    

提交回复
热议问题