URL не будет загружаться в веб-обозрение

У меня есть приложение, которое имеет фрагмент, который содержит веб-представление. Веб-представление работает правильно, когда я пытаюсь использовать другие URL, однако, когда я пытаюсь использовать «http://peekatu.com/scrapper/onair.php«он не загружается в веб-представлении. Я понятия не имею, почему он не загружается. Помощь приветствуется. Спасибо.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stubView v= inflater.inflate(R.layout.fragment_listen_live, container, false);
btn = (Button) v.findViewById(R.id.button1);
btn.setOnClickListener(pausePlay);
web_v= (WebView) v.findViewById(R.id.webView);
WebSettings web_sett=web_v.getSettings();
web_sett.setJavaScriptEnabled(true);
//web_v.setWebViewClient(new MyWebClient());
web_v.setWebChromeClient(new WebChromeClient());
web_v.loadUrl("http://peekatu.com/scrapper/onair.php");

MainActivity m = (MainActivity) getActivity();
m.changeMenu("homePage");
this.getSherlockActivity().getSupportActionBar().setTitle("Power 92 Chicago");
this.getSherlockActivity().getSupportActionBar()
.setSubtitle("#1 in the Streets!");return v;
}private class MyWebClient extends WebViewClient {

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
web_v.loadUrl(url);
return true;
}}

onair.php

<?php

set_time_limit(0);
ignore_user_abort(FALSE);
error_reporting(E_ERROR);
ini_set('display_errors', 'on');

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://www.power92chicago.com/');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
if (isset($_SERVER['HTTP_USER_AGENT'])) {
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
}$dom = new DOMDocument();

$dom->loadHTML(curl_exec($ch));

$xpath = new DOMXPath($dom);

$node = $xpath->query("//td[contains(concat(' ', normalize-space(@class), ' '), ' TimeFeatureHorizontalTd ')]")->item(0);echo get_inner_html($node);function get_inner_html($node) {
$innerHTML= '';
$children = $node->childNodes;
foreach ($children as $child) {
$innerHTML .= $child->ownerDocument->saveXML( $child );
}

return $innerHTML;
}

?>

1

Решение

Прежде чем позвонить loadUrl, добавьте эту строку:

web_v.setWebChromeClient(new WebChromeClient());

Кроме того, я не знаю, почему вы определяете WebViewClient что переопределяет shouldOverrideUrlLoading а потом звонит loadUrl Вы сами — просто удалите это.

0

Другие решения

При тестировании с помощью мобильного браузера веб-страница не загружается, поэтому проблема определенно не в вашем коде Android, проблема в коде php.

Можете ли вы поделиться кодом для создания этой сети?

Также, если вы пытаетесь показать информацию в своем приложении, вам может понадобиться другой подход, если вы хотите отобразить список данных в вашем приложении, вы можете использовать listView и получать данные из JSON. REST Api вместо отображения этого списка на сайте php

0