Galaxy Nexus html锚到不同的文件

时间:2012-09-03 03:04:43

标签: android webview anchor

我正在创建一个使用多个本地html文件的应用程序(都位于assets目录中)。当我在文件foo.html中创建锚点并在bar.html中创建指向该锚点的链接,然后在我的Galaxy Nexus上查看它时,我的webview说该网页不可用。

我很确定html已经正确完成了。 w3c HTML5验证器通过它,当我在我的计算机上查看网页时导航正常工作,当使用运行2.2.3而不是Nexus的motorolla机器人时,应用程序正常工作。

当锚点和链接到同一个html文件中时,锚点工作,并且当锚点不包含在链接中时,页面加载得很好(当然,不是在我希望它们位于的位置)。

如果某人有解决方案或采用不同的方法,我很乐意听到。

在我的研究中,我发现Android操作系统中存在一个类似的错误,但它被标记为已发布,所以我怀疑是这样。 http://code.google.com/p/android/issues/detail?id=17535

这里有一个类似的问题,Android Webview Anchor Link (Jump link) not working,但我没有任何滚动视图。

这是我唯一的活动:

package com.me.Foo;


import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
//import android.webkit.WebViewClient;
import android.widget.Button;


public class Foo extends Activity implements OnClickListener {
    WebView browser;
    public static final String RDR = "RDR";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        ((Button) findViewById(R.id.backButton)).setOnClickListener(this);
        ((Button) findViewById(R.id.forwardButton)).setOnClickListener(this);

        browser = (WebView) findViewById(R.id.webView);
        //browser.loadUrl("file:///android_asset/table_of_contents.html");
        browser.loadUrl("file:///android_asset/game_parameters.html#2.9");
    }

    @Override
    public void onClick(View v) {
        switch(v.getId()) {
        case R.id.backButton: 
            Log.d(RDR, "Back button pressed.");
            if(browser.canGoBack())
                browser.goBack();
            break;
        case R.id.forwardButton:
            Log.d(RDR, "Forward button pressed.");
            if(browser.canGoForward())
                browser.goForward();
            break;
        default:
            Log.d(RDR, "ERROR!  That button click is not handled.");
        }
    }
}

这是我的xml布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/naviagtionLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/backButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="50"
            android:text="@string/backward" />

        <Button
            android:id="@+id/forwardButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="50"
            android:text="@string/forward" />

    </LinearLayout>

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/naviagtionLayout" />

</RelativeLayout>

感谢。

0 个答案:

没有答案