0
我正在開發一個應用程序,其中我將文本附加到存儲在.html文件中的現有文本中,.html文件的位置位於我的應用程序的「assets」文件夾中。我知道如何使用URL加載HTML,但我的問題是追加文本。 以下是我的Java代碼如何在android中附加額外的文字與現有的html內容?
public class LoadWeb extends Activity {
WebView wv;
private Handler handler = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
wv=(WebView)findViewById(R.id.webView1);
handler = new Handler();
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setBuiltInZoomControls(true);
wv.addJavascriptInterface(this, "contactSupport");
wv.getSettings().setSupportZoom(true);
wv.setWebViewClient(new Callback());
// String title=wv.getTitle();
// Log.e("nitin", "msg"+title);
setTheme(Color.CYAN);
// wv.setInitialScale(100);
wv.loadUrl("file:///android_asset/style.html");
}
void loadTime() {
String TESTSTRING = "'<div style='color:blue; border:1px solid red;'>YO!</div>'";
// TODO Auto-generated method stub
Log.e("mitiiiiiii", ""+TESTSTRING);
wv.loadUrl("javascript:appendText("+TESTSTRING+")");
}
private class Callback extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return(true);
}
@Override
public void onPageFinished(WebView view, String url) {
loadTime();
super.onPageFinished(view, url);
}
}
public String deleteContact(final String contactId){
Toast.makeText(getBaseContext(),contactId ,Toast.LENGTH_LONG).show();
handler.post(new Runnable() {
public void run() {
Toast.makeText(getBaseContext(),contactId ,Toast.LENGTH_LONG).show();
}
});
Log.i("nitin" ,""+contactId);
return "http://google.com";
}
}
和下面是我的javascript代碼
<html>
<head>
<script type="text/javascript">
var extraStr;
function appendText(extraStr) {
document.getElementById('question')[0].innerHTML = document.getElementById('question')[0].innerHTML + extraStr;
contactSupport.deleteContact();
}
function getUsed()
{
var total = "";
$(".boxWord.boxWordUsed").each(function (i){ total = total + this.getAttribute('index_no') + ":"; });
return total;
}
</script>
<link href="style.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="question" class='question' >
</div>
任何機構可以告訴我爲什麼事先不工作
感謝。
它爵士將永久更改我的HTML或暫時請回復我不是非常有經驗的JavaScript.Because我想改變它動態 – Nitin
這將是臨時的,它不會更改您的基本HTML。但是,我向你展示的函數將永遠存在於你的html中。如果你不想這樣做,你仍然可以直接從java中調用函數的實際部分,而不需要添加它。 –
當我應該加載webview後調用此函數我這樣做wv.loadUrl(「file:///android_asset/style.html」); wv.loadUrl(「javascript:appendText(」+ TESTSTRING +「)」);但這不起作用。請建議我正確的方法 – Nitin