2016-05-24 4 views
1

У меня есть деятельность A которая имеет кнопку. При нажатии этой кнопки активность B запускается. Активность B имеет WebView внутри XML-макета, который загружает HTML-страницу, хранящуюся локально на устройстве. Вся веб-страница состоит из нескольких CSS (тяжелых материалов) и jsons (больших по размеру). В это время объем использования ОЗУ составляет около 90 МБ. В HTML есть поля ввода как текстовые, так и числовые. Проблема заключается в том, что после открытия и закрытия веб-просмотра 3-4 раза, когда я нажимаю на поле ввода, клавиатура становится невидимой.Android клавиатура невидимая

Click here for screenshot

Это мой код активности.

public class LaunchActivity extends Activity { 

WebView webView; 
private final int FILECHOOSER_RESULTCODE = 1; 
private Uri mCapturedImageURI = null; 
public String mCameraPhotoPath; 
String webViewUrl; 
public String mMediaType; 
public int flag = 0; 
public File imageStorageDir; 
Bundle bundle; 
String mode; 
public ProgressDialog progDailog; 

int questionToBeLaunch; 

Project project; 

public void onBackPressed() { 
} 

public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    setContentView(R.layout.launch_survey); 

    // getting data from intent and creating the url to load. 

    webView = (WebView) findViewById(R.id.webView1); 

    setWebViewProperties(); 

    Map<String, String> header = new HashMap<String, String>(2); 
    header.put("Pragma", "no-cache"); 
    header.put("Cache-Control", "no-cache"); 
    webView.loadUrl(webViewUrl, header); 
} 

public void setWebViewProperties(){ 
    JavaScriptInterface jsInterface = new JavaScriptInterface(this); 
    // Javascript enabled on webview 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setAllowUniversalAccessFromFileURLs(true); 


    webView.addJavascriptInterface(jsInterface, "interface"); 

    // Other webview options 
    webView.getSettings().setLoadWithOverviewMode(true); 

    //webView.getSettings().setUseWideViewPort(true); 
    //Other webview settings 
    webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 
    webView.setScrollbarFadingEnabled(false); 
    webView.getSettings().setBuiltInZoomControls(true); 
    webView.getSettings().setDisplayZoomControls(false); 
    webView.getSettings().setAllowFileAccess(true); 
    webView.getSettings().setAllowFileAccessFromFileURLs(true); 
    webView.getSettings().setAllowUniversalAccessFromFileURLs(true); 
    webView.getSettings().setSupportZoom(true); 

    progDailog = new ProgressDialog(LaunchSurvey.this); 
    //Load url in webview 
    webView.setWebViewClient(new 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); 
      progDailog.setMessage("Loading..."); 
      progDailog.setCanceledOnTouchOutside(false); 
      progDailog.setCancelable(false); 
      progDailog.show(); 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 
      webView.clearCache(true); 
     } 
    }); 
} 


@Override 
protected void onPause() { 
    super.onPause(); 
} 


@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    // webView.setOnTouchListener(null); 
    webView.removeAllViews(); 
    webView.clearCache(true); 
    webView.clearHistory(); 

    // clearCache(getApplicationContext()); 
    webView.destroy(); 
    webView = null; 
} 
} 
+0

У меня такая же проблема, обыск в Интернете, пробовал разные вещи, но ничего не работало. –

+0

Можете ли вы поделиться своим кодом специально кодом, который вы написали для просмотра в Интернете? –

ответ

0

После долгих много дней, наконец, я выяснил причину вашей проблемы. Вероятно, из-за тяжелого javascript-кода , что веб-просмотр должен анализироваться. Попробуйте немного осветлить его, и вы все настроены, цифровая клавиатура не станет невидимой.

Смежные вопросы