2012-07-25 77 views
1

我有一個簡單的應用程序,加載了一個HTML頁面WebView。 該HTML頁面僅包含input字段和iframe字段,iframe用於嵌入YouTube視頻。Android 2.3在WebView中觀看視頻後,鍵盤停止彈出

<fieldset> 
    <legend>Video Test</legend> 
      <input type="text" id="text-callee-dataReceived" name="text-callee-dataReceived" size="80" value="" /> 
      <iframe class="youtube-player" type="text/html" width="100%" height="100%" src="http://www.youtube.com/embed/-qTIGg3I5y8" frameborder="0"> 
    </iframe> 
</fieldset> 

當我點擊輸入字段時,鍵盤按預期方式出現。但是,當我首先播放視頻,然後點擊輸入字段時,即使輸入字段獲得焦點(即光標出現並閃爍),鍵盤也不會彈出。

注意:使用Android瀏覽器訪問HTML頁面時,我無法重現此操作。

任何人有任何想法是怎麼回事,或者如果我能解決這個問題怎麼樣?

回答

0

可能的原因是這裏所描述的錯誤:http://code.google.com/p/android/issues/detail?id=7189

因此,嘗試通過編程設置重點:

webview.requestFocus(View.FOCUS_DOWN); 
webview.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    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; 
    } 
}); 
0

今天我有同樣的問題。以下解決方案適用於我:

mWebView.setWebViewClient(new WebViewClient() { 
    @Override 
    public void onPageFinished(WebView view, String url) { 
     view.requestFocus(); 
     super.onPageFinished(view, url); 
    } 
}); 

祝你好運!

+1

@Adi Inbar謝謝您的修改! – Ryan 2014-03-03 07:17:40