Android 在WebView中通过javascript获取网页源码,并在TextView或者在EditText中显示问题 5
//javascript获取网页源码publicvoidonPageFinished(WebViewview,Stringurl){Log.d("WebView","on...
//javascript获取网页源码
public void onPageFinished(WebView view, String url) {
Log.d("WebView","onPageFinished ");
view.loadUrl("javascript:window.local_obj.showSource('<head>'+" +
"document.getElementsByTagName('html')[0].innerHTML+'</head>');");
super.onPageFinished(view, url);
}
//javascript获取网页源码
//本地接口
final class InJavaScriptLocalObj {
public void showSource(String html) {
Log.d("HTML", html);
}
}
//本地接口
##############################################
以上代码用这个方法( Log.d("HTML", html);)是可以正常显示网页源代码的#############################################
但是我把本地接口的代码改成这样程序运行就会退出
final class InJavaScriptLocalObj {
public void showSource(String html) {
Log.d("HTML", html);
//我想把代码显示在textview上,增加以下代码,可是程序运行到这里就会退出。各位高手,有没有什么办法可以解决这个问题?
TextView textview23 = (TextView)findViewById(R.id.textView1);
textview23.setText(html);
}
} 展开
public void onPageFinished(WebView view, String url) {
Log.d("WebView","onPageFinished ");
view.loadUrl("javascript:window.local_obj.showSource('<head>'+" +
"document.getElementsByTagName('html')[0].innerHTML+'</head>');");
super.onPageFinished(view, url);
}
//javascript获取网页源码
//本地接口
final class InJavaScriptLocalObj {
public void showSource(String html) {
Log.d("HTML", html);
}
}
//本地接口
##############################################
以上代码用这个方法( Log.d("HTML", html);)是可以正常显示网页源代码的#############################################
但是我把本地接口的代码改成这样程序运行就会退出
final class InJavaScriptLocalObj {
public void showSource(String html) {
Log.d("HTML", html);
//我想把代码显示在textview上,增加以下代码,可是程序运行到这里就会退出。各位高手,有没有什么办法可以解决这个问题?
TextView textview23 = (TextView)findViewById(R.id.textView1);
textview23.setText(html);
}
} 展开
2013-11-24
展开全部
应该是public void showSource(String html) {} 运行在非UI线程里面, 你尝试在这个方法里面使用handler.sendMessage() 然后在handler的handlerMessage 方法中更新TextView中的内容试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询