Я пытаюсь загрузить html-страницу из каталога ресурсов. Я пробовал это, но ничего не вышло.
public class ViewWeb extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView wv;
wv = (WebView) findViewById(R.id.webView1);
wv.loadUrl("file:///android_asset/aboutcertified.html"); // fails here
setContentView(R.layout.webview);
}
}
Я действительно не получаю никаких явных ошибок в LogCat ...
Ответы:
Вы получаете WebView перед настройкой представления содержимого, поэтому wv, вероятно, имеет значение null.
public class ViewWeb extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview); WebView wv; wv = (WebView) findViewById(R.id.webView1); wv.loadUrl("file:///android_asset/aboutcertified.html"); // now it will not fail here } }
источник
Всякий раз, когда вы создаете активность, вы должны добавить
setcontentview
(свой макет) после супервызова. Потому чтоsetcontentview
привяжите xml к своей деятельности, вот почему вы получаетеnullpointerexception
.setContentView(R.layout.webview); webView = (WebView) findViewById(R.id.webView1); wv.loadUrl("file:///android_asset/xyz.html");
источник
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView wb = new WebView(this); wb.loadUrl("file:///android_asset/index.html"); setContentView(wb); } keep your .html in `asset` folder
источник
assets
developer.android.com/tools/projects/index.html, в любом случае не работает, если только моя папка с активами не находится в неправильной папке, в которой сейчас находитсяmain
Загрузите исходный код отсюда ( откройте HTML-файл из ресурсов android )
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:background="#FFFFFF" android:layout_height="match_parent"> <WebView android:layout_width="match_parent" android:id="@+id/webview" android:layout_height="match_parent" android:layout_margin="10dp"></WebView> </RelativeLayout>
MainActivity.java
package com.deepshikha.htmlfromassets; import android.app.ProgressDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends AppCompatActivity { WebView webview; ProgressDialog progressDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init(){ webview = (WebView)findViewById(R.id.webview); webview.loadUrl("file:///android_asset/download.html"); webview.requestFocus(); progressDialog = new ProgressDialog(MainActivity.this); progressDialog.setMessage("Loading"); progressDialog.setCancelable(false); progressDialog.show(); webview.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) { try { progressDialog.dismiss(); } catch (Exception e) { e.printStackTrace(); } } }); } }
источник