2013-04-23 4 views
0

Я пишу приложение для запуска webView в своей деятельности. Но он был запущен в веб-браузере.Проблема в заполнении WebView в действии

я отсылаю links и this tutorial too

Но когда я использовал shouldOverrideUrlLoading, я могу получить только пустой экран.

По этой проблеме я refered this link

Но ни одна помощи в моем случае ..

Я дал свой код.

Обратите внимание, какая ошибка я сделал?

Мой код:

webview.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center_horizontal|center_vertical" 
    android:orientation="vertical" > 

    <WebView 
     android:id="@+id/webView" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_gravity="center_horizontal|center_vertical" > 
    </WebView> 

</LinearLayout> 

WebViewActivity.java

public class webViewActivity extends Activity { 

    private WebView webView; 
    private String strUrl; 
    public final String TAG = "webViewActivity"; 
    ProgressBar progBar; 

    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     getWindow().requestFeature(Window.FEATURE_NO_TITLE); 
     getWindow().requestFeature(Window.FEATURE_PROGRESS); 
     setContentView(R.layout.webview); 
     Bundle bundle = getIntent().getExtras(); 
     strUrl = bundle.getString("URL"); 
     Log.d(TAG, "link is " + strUrl); 
     // strUrl = "www.google.com"; 
     webView = new WebView(this); 
     webView.loadUrl(strUrl); 

     // progBar = (ProgressBar)findViewById(R.id.progWeb); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.setWebViewClient(new WebViewClient() { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       // TODO Auto-generated method stub 
       view.loadUrl(strUrl); 
       return true; 
      } 
     }); 
} 

Пожалуйста, помогите Corect мою ошибку.

Спасибо вам заранее!

+0

вы имеете в виду вы получаете белый экран, когда WebView загружается это правильно? – kavya

+0

Я абсолютно прав. – Dhasneem

+0

ok, тогда вы просто попробуйте установить цвет фона веб-обозревателя на нуль – kavya

ответ

3
<WebView 
    android:id="@+id/webView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_gravity="center_horizontal|center_vertical" > 
    </WebView> 

В вашей деятельности вам необходимо найти идентификатор веб-представления.

webView = new WebView(this); 

Вы создаете WebView, но вы не добавляя то же самое макете

Вы уже определили WebView в вашем XML, так что нет необходимости создавать то же самое снова. Найдите идентификатор веб-браузера и загрузите URL-адрес соответственно.

setContentView(R.layout.webview); 
    webView = (WebView) findViewById(R.id.webView);// you need to find the id of webview 
    Bundle bundle = getIntent().getExtras(); 
    strUrl = bundle.getString("URL");  
    webView.loadUrl(strUrl); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      // TODO Auto-generated method stub 
      view.loadUrl(strUrl); 
      return true; 
     } 
    }); 

Убедитесь, что вы добавили разрешение интернет в файле манифеста

<uses-permission android:name="android.permission.INTERNET"/> 

Проверьте Edit 2 в приведенной ниже ссылке для рабочего образца

Enable back button in WebView

+0

Спасибо за ваш достойный ответ .. Он отлично работает .. На самом деле, я уже пробовал использовать «webView = (WebView) findViewById (R.id.webView); «Это не сработало. Но я использовал ваш код. Я понял, что это изменение, помещая инструменты: context = ". WebViewActivity" эту строку в .xml-файл.Огромное спасибо. – Dhasneem

+0

@ Dhasneem, если ответ помогает принять ответ – Raghunandan

+0

Конечно .. У меня есть сомнения. Если я хочу, чтобы индикатор выполнения отображал средство загрузки, я использую progressbar в самом xml или используя «requestWindowFeature (Window.FEATURE_PROGRESS)»; достаточно? – Dhasneem

0

Я попробовал ваш код в проблема заключается в динамическом вызове проверки веб-просмотра. Вы не использовали

  setContentView(webView); 

Попробуйте это ...

+0

Я уже использовал setContentView (R.layout.webview) na? Где я могу это поставить? – Dhasneem

+0

@kavya нет необходимости создавать веб-просмотр, например webview wv = new WebView (this); у него уже есть веб-просмотр в xml, и он установил его содержимое. – Raghunandan