Android WebView стал черным при заполнении формы - PullRequest
0 голосов
/ 23 февраля 2012

Я сталкиваюсь с этой проблемой при заполнении формы, загруженной моим приложением с помощью веб-браузера Android:

https://lh6.googleusercontent.com/-lik5GC5CcIU/T0W5n9dJeTI/AAAAAAAABrM/JIlqB5_Tq9Q/s1130/webview-blackout-problem.jpg

Извините, я не могу напрямую опубликовать изображение, потому что я новичоквот так StackOverflow не позволит мне.

Как видите, некоторая часть экрана стала черной, когда я попытался заполнить текстовое поле.Спасибо за любую помощь!

Код, который я использую:

package com.example.WebViewer;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;


public class WebViewerActivity extends Activity {
     /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          //setContentView(R.layout.main);

          // Let's display the progress in the activity title bar, like the
          // browser app does.
          getWindow().requestFeature(Window.FEATURE_PROGRESS);

          WebView webview = new WebView(this);
          setContentView(webview);

          webview.getSettings().setJavaScriptEnabled(true);

          final Activity activity = this;
          webview.setWebChromeClient(new WebChromeClient() {
          public void onProgressChanged(WebView view, int progress) {
               // Activities and WebViews measure progress with different scales.
               // The progress meter will automatically disappear when we reach 100%
               activity.setProgress(progress * 1000);
          }
        });

        webview.setWebViewClient(new WebViewClient() {      
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                      //Users will be notified in case there's an error (i.e. no internet connection)
                      Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
            }
        });
        //This will load the webpage that we want to see

        String url = "file:///" 
                        + Environment.getExternalStorageDirectory() 
                        + "/SomeFiles/Downloads/SalesOrderForms/4_2.html";

        webview.loadUrl(url);

        Log.e("URL", url);

     }
}

Я также использую jQuery на этой странице.Я попытался удалить его, но получил те же результаты.

Я попытался просмотреть его в средстве просмотра HTML, но вместо черного некоторые части экрана стали белыми.

Я попытался просмотреть его вбраузер устройства, и это казалось нормальным.

Я использую 10,1-дюймовую вкладку Samsung Galaxy.с андроидом 3.0 os

1 Ответ

0 голосов
/ 23 февраля 2012

Вы пробовали:

webview.getSettings().setJavaScriptEnabled(true); // TRUE because you are using JS as you said
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...