在webview android中加载文本文件

时间:2012-01-03 23:36:44

标签: android android-webview android-fragments text-files

到目前为止,我已经阅读了如何在webview中加载“普通”html网页.. 到目前为止,我传递了包含我的文本文件的路径的URL,但它没有加载任何内容。 这是我的方法:

@Override
public void onSelected(String url) {
    ViewerFragment viewer = (ViewerFragment) getSupportFragmentManager()
            .findFragmentById(R.id.view_fragment);

    if (viewer == null || !viewer.isInLayout()) {
        Intent showContent = new Intent(getApplicationContext(),
                ViewerFragment.class);
        showContent.setData(Uri.parse(url));
        startActivity(showContent);
    } else {
        viewer.updateUrl(url);
    }

}

并且查看器片段得到了这个:

    public class ViewerFragment extends Fragment{
    private WebView viewer = null;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        viewer = (WebView) inflater
                .inflate(R.layout.details_fragment, container, false);
        return viewer;
    }

    public void updateUrl(String newUrl) {
        if (viewer != null) {
            viewer.loadUrl(newUrl);
        }
    }
    }

但请继续关注此屏幕:webviewerror

任何想法如何做到这一点? = /我已经尝试了谷歌搜索但没有找到关于它的很多信息...实际上几乎找不到。所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:6)

尝试阅读文本文件的内容,并在文字前加<html><body>,然后追加</body></html>,然后使用WebView方法loadData(...)

示例:

StringBuilder sb = new StringBuilder("<html><body>");
sb.append(readTextFile());
sb.append("</body></html>");
myWebView.loadData(sb.ToString(), "text/html", "UTF-8");

public String readTextFile(String filename) {
    // Open and read the contents of <filename> into
    // a single string then return it
}