Отображение списка сайтов YouTube (WebView) через ViewPager - PullRequest
1 голос
/ 16 января 2012

Я хотел бы отобразить список музыкальных мелодий в ViewPager. Поэтому я использую WebView как элемент просмотра в пейджере. Приведенный ниже код отлично работает для всех сайтов, кроме YouTube.

public Object instantiateItem(View collection, int position) {
  WebView w=new WebView(cxt);
  w.getSettings().setJavaScriptEnabled(true);
  w.getSettings().setPluginsEnabled(true);
  w.loadUrl("http://www.youtube.com");
  ((ViewPager) collection).addView(w,0);
  return w;
}

Проблема в том, что я не мог провести пейджером; вместо этого Android спрашивает меня, «завершить ли действие», используя «Интернет» или «TubeMate». После выбора видео больше не отображается в моем приложении. Можно ли заставить Android отображать содержимое YouTube прямо в моем приложении, а не в браузере?

1 Ответ

0 голосов
/ 16 января 2012

Я сам нашел решение.Добавьте эти строки до того, как loadUrl решит проблему:

w.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
});

Это переопределит действие по умолчанию (Интернет-браузер) с использованием моего собственного WebView.

...