Webview लोड HTML से संपत्ति निर्देशिका


142

मैं संपत्ति निर्देशिका से एक 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 में कोई भी त्रुटि बताने की आवश्यकता नहीं है ...


मेरा अन्य उत्तर देखें: stackoverflow.com/a/8694428/341091
मार्टिन

जवाबों:


296

आप सामग्री दृश्य सेट करने से पहले WebView प्राप्त कर रहे हैं ताकि wv संभवतः शून्य है।

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
        }  
    }

वह यह था। मेरे पास इसे शुरू करने का तरीका था, इसे स्वैप करने की कोशिश की, लेकिन अब यह काम करता है ... कूल।
एंडी .273

एक तरफ ध्यान दें, क्या एंड्रॉइड में काले रंग पर सफेद एक मानक रूप है? मेरे सभी तालिका दृश्य डिफ़ॉल्ट रूप से काले रंग के हैं, लेकिन मेरा html सफेद पर काले रंग के लिए सेट है ... मैं उन्हें बदल सकता हूं, लेकिन यह निश्चित नहीं है कि किसको बदलना है।
एंडी 2727

मेरी वेबसाइट में मोबाइल contactus page.html पेज में एक ईमेल पता है, जो कि android app में webview का उपयोग कर रहा है और उस weburl contactus .html पेज को खोलने के लिए उस उपयोगकर्ता में ईमेल अज्ञात url स्कीमा त्रुटि पर क्लिक करता है
Harsha

एंड्रॉइड एप्लिकेशन में सर्वर का उपयोग करके HTML फ़ाइल कैसे चलाएं?

16

जब भी आप गतिविधि बना रहे हों, तो आपको setcontentviewसुपर कॉल के बाद (अपना लेआउट) जोड़ना होगा । क्योंकि setcontentviewxml को अपनी गतिविधि में बांधें, ताकि आपके कारण हो nullpointerexception

 setContentView(R.layout.webview);  
 webView = (WebView) findViewById(R.id.webView1);
 wv.loadUrl("file:///android_asset/xyz.html");

6
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

2
एंड्रॉइड डॉक्टर assets डेवलपर को संदर्भित करता है main
।android.com/tools/projects/index.html

मेरी खराब मेरे पास अलग-अलग स्थान पर एक ही परियोजना की एक प्रति थी, और गलत प्रतिलिपि में जोड़ रहा था, लेकिन छवि के साथ यह उत्तर सबसे अच्छा stackoverflow.com/questions/18302603/… है
Pawel Cioch

0

यहां से स्रोत कोड डाउनलोड करें ( संपत्ति Android से HTML फ़ाइल खोलें )

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();
 }
 }
 });
 }
 }
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.