studio propiedades codigo based app android webview

propiedades - Cómo pasar html string a webview en android



webview android studio 2017 (3)

Hola. Estoy analizando xml y luego lo estoy cargando a la vista web, luego de analizar Estoy creando cuatro cadenas para poder agregar toda la cadena a una vista. Puedo obtener dos vistas en la vista web, pero no las dos primeras.

Los Pls me sugieren con mi código, ¿dónde me estoy equivocando y cuál es la forma correcta de obtener las cadenas html formateadas en la vista web? Pls eche un vistazo a mi código y ayúdenme a resolver este problema.

@Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub String chapterTitle = ""; String SubChapterTitle=""; String chapterIntro =""; String chapterContent=""; View view = convertView; if (convertView == null) { // view = inflater.inflate(resourceid, null); view = getLayoutInflater().inflate(R.layout.webviewitem, null); } synchronized (view) { WebView wv = (WebView) view.findViewById(R.id.contentWebView); WebSettings settings = wv.getSettings(); settings.setUseWideViewPort(true); settings.setLoadWithOverviewMode(true); settings.setJavaScriptEnabled(true); settings.setDefaultZoom(ZoomDensity.FAR); // wv.setBackgroundColor(0); wv.setVerticalScrollBarEnabled(false); wv.setHorizontalScrollBarEnabled(false); /*String txtChapTitle = Intro.book.getsecretList().get(position) .getChtitle().toString();*/ if (!(Intro.book.getsecretList().get(position).getChtitle() .toString().equals(""))){ chapterTitle = "<b><fontSize=4>"+Intro.book.getsecretList().get(position) .getChtitle().toString()+"</font></b>"; } if (!(Intro.book.getsecretList().get(position) .getSubtitle() == null)) { SubChapterTitle = "<b><fontSize=4>"+Intro.book.getsecretList().get(position) .getSubtitle().toString()+"</font></b>"; } if (!(Intro.book.getsecretList().get(position) .getIntro() == null)) { chapterIntro = "<b><fontSize=2>"+Intro.book.getsecretList().get(position) .getIntro().toString()+"</font></b>"; } if (!(Intro.book.getsecretList().get(position) .getContent() == null)) { chapterContent = "<fontSize=2>"+Intro.book.getsecretList().get(position) .getContent().toString()+"</font>"; } StringBuilder content = new StringBuilder(); content.append(chapterTitle+SubChapterTitle+chapterIntro+chapterContent); JsInterface Jsi = new JsInterface(); Jsi.wordDef = content ; Log.v("Content", "" +content); wv.addJavascriptInterface(Jsi, "interfaces"); wv.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { view.setHapticFeedbackEnabled(false); } }); wv.setWebChromeClient(new WebChromeClient() { @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { return super.onJsAlert(view, url, message, result); } }); wv.loadUrl("file:///android_asset/wordview.html"); } return view; } }

Puedo obtener chapterIntro y chaptercontent en la vista web, pero las primeras dos cadenas no me ayudan.



Pasar nulo sería mejor. Los códigos completos son como:

WebView wv = (WebView)this.findViewById(R.id.myWebView); wv.getSettings().setJavaScriptEnabled(true); wv.loadDataWithBaseURL(null, "<html>...</html>", "text/html", "utf-8", null);


he hecho con éxito por debajo de la línea

//data == html data which you want to load WebView webview = (WebView)this.findViewById(R.id.webview); webview.getSettings().setJavaScriptEnabled(true); webview.loadDataWithBaseURL("", data, "text/html", "UTF-8", "");