2011-01-09 18 views
0

Ich versuche, einen iframe mit einem Suchfeld in meiner Webseite zu implementieren.Android Tastatur wird nicht angezeigt, wenn Eingabe Textfeld gedrückt wird

Die Sache ist, dass ich eine Web-Seite von einer Domain habe sagen, diese Seite ist http: ///myPage.html und ich habe in seiner html ein iframe-Element, das auf einen anderen HTML-Code auf einer anderen Domain verweist. sagen wir mal das Element wie so /iframe_content.html ist ">

und in der http: ///iframe_content.html Seite Ich habe ein Texteingabefeld I als Such-Box verwenden möchten

Die. Problem ist, wenn ich mit Android 2.2 zu meiner ursprünglichen Webseite surfe, sehe ich den iframe, den ich in meinem html einbette und wenn ich die Eingabetextbox drücke, sehe ich nicht die virtuelle Tastatur, die Android-Browser in-Reihenfolge liefern sollte einfügen einen Text hinein.

Kann jemand helfen?

+0

Was passiert, wenn Sie die Eingabetextfeldseite von derselben Domäne aus bereitstellen? Erscheint die Tastatur? – lazyboy

Antwort

0

erstellen sie eine Klasse und erweitern sie mit webview

private class MwebViewClient extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 
    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     super.onPageStarted(view, url, favicon); 
     waitDialog = new ProgressDialog(context); 
     waitDialog.setMessage("Loading Page..."); 
     waitDialog.setIndeterminate(true); 
     waitDialog.show(); 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     super.onPageFinished(view, url); 
     if (waitDialog != null) { 
      waitDialog.dismiss(); 
     } 
    } 

    @Override 
    public void onScaleChanged(WebView view, float oldScale, float newScale) { 
     super.onScaleChanged(view, oldScale, newScale); 

// mit Nachdruck zeigen Tastatur, und dann wird es Tastatur auf jedem Textfeld Tastendruck

InputMethodManager inputMgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      inputMgr.toggleSoftInput(InputMethodManager.RESULT_UNCHANGED_SHOWN, InputMethodManager.RESULT_UNCHANGED_SHOWN); 
     } 
    } 

Und jetzt zeigen, wann immer Sie auf ein beliebiges Textfeld klicken, wird es über die Tastatur zeigen. Zum ersten Mal kann es beim Laden der Seite Tastatur ohne Benutzerinteraktion zeigen.

Verwandte Themen