В моем приложении для Android, когда я создаю новый эмулятор и пытаюсь писать в webview в первый раз, он неактивен. Я не могу писать в текстовом поле, а затем приложение падает. Если я перезагружу приложение, все будет работать нормально.Почему сбой при первом запуске Webview?
Код:
String url = "http://api.vkontakte.ru/oauth/authorize?client_id=2731649&scope=wall,notify,docs&" +
"redirect_uri=http://api.vkontakte.ru/blank.html&display=wap&response_type=token";
WebViewClass wvClforVK = new WebViewClass();
В OnCreate:
webview= (WebView) findViewById(R.id.vkWebView);
webview.setWebViewClient(wvClforVK);
На ButtonClick:
webview.loadUrl(url);
in wvClforVK
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
Вы вызываете 'setContentView (...)' ПЕРЕД вызовом 'findViewById (R.id.vkWebView)'? – Squonk
это this.setContentView (R.layout.main); ? yes –
Да, это должно быть (до тех пор, пока ваш файл макета называется 'main.xml'). Вы не помещаете его .xml при использовании 'R.layout.', как вы покажете в своем комментарии. Вы должны установить представление содержимого, прежде чем пытаться использовать любые компоненты, такие как ваш 'R.id.vkWebView'. Если вы используете 'findViewById' перед настройкой содержимого, он вернет' null' – Squonk