我有一个listview,一个webview,点击listview的每个item都会从其他地方取得一份html格式数据,我修改锚点设置为我要的位置,然后让webview加载,但是程序启动第一次加载时,设置的锚点不起作用,点了其他的item,设置的锚点又都可以了,即使再点回第一个item来加载起始的那个也没有问题,这是怎么回事呢?使用的是name方式的锚点。<HTML>
<HEAD>
<SCRIPT>

</SCRIPT>
</HEAD>
<BODY onload="location.href='#15';">  <!--初始锚点为0,修改锚点为15-->
<a name="0"></a>...
<a name="1"></a>...
......
<a name="22"></a>
</BODY>
</HTML>webview设置:
WebSettings ws = getSettings();
ws.setAllowFileAccess(true);
ws.setPluginsEnabled(true);
ws.setSupportZoom(true);
ws.setJavaScriptEnabled(true);
ws.setJavaScriptCanOpenWindowsAutomatically(true);
ws.setUseWideViewPort(true);
加载html:
...
StringBuffer strContent = mData.getFormatContentStringByIdx(position);
resetHref(strContent);
mWebView.loadDataWithBaseURL(null, strContent.toString(), "text/html", "utf-8",null);
...

解决方案 »

  1.   

    我猜想你是在onitemclicklistener里做的加载过程吧,你在加载listview item的时候 第一次程序加载的时候并不会执行这个函数,换到初始化那里去加载试试。或者提供多点的信息能帮到你。
      

  2.   

    "初始化"是指哪里?我是在得到listview总条数后代码创建的布局,然后加载布局和loadDataWithBaseURL.
    setContentView(myLayout);StringBuffer strContent = mData.getFormatContentStringByIdx(position);
    resetHref(strContent);
    mWebView.loadDataWithBaseURL(null, strContent.toString(), "text/html", "utf-8",null);