我的应用必须显示存储在资产文件夹中的5个HTML页面,以及如何在单个webview中显示它们。Android在webview中加载存储在资产文件夹中的html页面
回答
我发现这一点,它是专门为Mr.Stefan哈伦(理解我的问题)
`
private WebView mWebView = null;
private TextView selectedText = null;
private long timeLeft;
private int pageIndex;
private String pagePath;
private String[] pageList;
private AssetManager assMan =null;
private String path="Courses/Section01";
private int SelectedRow;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.course);
mWebView = (WebView) findViewById(R.id.webview);
assMan= this.getAssets();
try {
pageList = aMan.list(path);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
pageIndex=0;
System.out.println(pageList[0]);
System.out.println(pageList.length);
pagePath=pageList[pageIndex];
loadWebView(pagePath);
Button nextView = (Button) findViewById(R.id.nxt);
nextView.setOnClickListener(NextClick);
Button previousView = (Button) findViewById(R.id.pre);
previousView.setOnClickListener(PreviousClick);
}
View.OnClickListener PreviousClick = new View.OnClickListener() {
public void onClick(View v) {
GoPrevious();
}
};
View.OnClickListener NextClick = new View.OnClickListener() {
public void onClick(View v) {
GoNextNews();
}
};
private void loadWebView(String s){
//mWebView.loadUrl(s);
mWebView.loadUrl("file:///android_asset/htmlFilesFolder/"+s);
}
private void GoNextNews() {
int TotalRows = pageList.length;
if ((SelectedRow + 1) < TotalRows)
{
SelectedRow = SelectedRow + 1;
String s=pageList[SelectedRow];
loadWebView(s);
}
}
private void GoPrevious() {
if (SelectedRow > 0)
{
SelectedRow = SelectedRow - 1;
String s=pageList[SelectedRow];
loadWebView(s);
}
}
}`
WebView webView = (WebView) findViewById(R.id.YourWebView);
webView.loadUrl("file:///android_asset/your.html");
我知道如何加载HTML页面,我的问题是如何显示“5 HTML页面”在“单一“网络视图。 – Kishore
<WebView
android:id="@+id/testWebView"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</WebView>
然后创建的HTML页面导航湖这样的:
<body>
<ul id="menu">
<li><a href="page1.html" title="page 1">Page 1</a></li>
<li><a href="page2.html" title="page 2">Page 2</a></li>
<li><a href="page3.html" title="page 3">Page 3</a></li>
<li><a href="page4.html" title="page 4">Page 4</a></li>
<li><a href="page5.html" title="page 5">Page 5</a></li>
</ul>
<h1> page 1</h1>
</body>
然后加载第一页:
WebView webView = (WebView) findViewById(R.id.testWebView);
webView.loadUrl("file:///android_asset/page1.html");
,所以你得到一个HTML页面导航到其他网页
好吧,这是在HTML中,你知道如何做到这一点在Android中。 – Kishore
你实际上是在谈论SPA(单页应用程序),如果我没看错的。您应该看看Angularjs,它是一个具有proparty routeProvider的框架。您可以轻松加载您的html页面,这些页面实际上是您的主html页面中的部分。只需在波浪链接上给一些时间...哦,如果你在你的项目上添加phonegap,它也可以用于android和ios。
http://docs.angularjs.org/tutorial/step_07
http://docs.angularjs.org/tutorial
乐意帮助...
我建议你可以将HTML文件从资产到内部目录先复制(getFilesDir())。然后执行
webView.loadUrl(“file://”+ getFilesDir()+“/firstPage.html”);
因为直接从Assets中,某些设备会失败。
- 1. Android的webview,在资产文件夹中加载javascript文件
- 2. Android从资产文件夹加载加密HTML + JS到webview
- 3. 使用非资产文件夹中的自定义CSS在WebView中加载HTML
- 4. 将资产文件夹中的本地html文件加载到webview中
- 5. 在加载页面时在webview中加载本地html文件
- 6. Android - 在WebView中显示资产子文件夹中的图像
- 7. android使用存储在资产文件夹中的Linux工具
- 8. React-native WebView:从资产文件夹加载html和js
- 9. 在WebView中显示Android资产文件?
- 10. 使用存储在资产文件夹中的文本文件
- 11. 检查Android资产文件夹html文件的存在
- 12. 显示存储在SharePoint文档文件夹中的HTML页面
- 13. 在Android工作室的文件夹资产加载php文件
- 14. 如何链接多个HTML页面驻留在android资产文件夹中?
- 15. 在android webview中加载静态页面
- 16. Android:在Webview中加载Facebook页面
- 17. WebView:加载存储在资产内的文件夹中的目录,css's,htmls等的本地网站
- 18. 如何让存储资产的文件夹中的android
- 19. 加载HTML页面的WebView
- 20. 加载html资产到webview的问题
- 21. Java - 从资产加载html页面
- 22. 从Android的资产文件夹中加载OpenCV的图像
- 23. 如何在android上的webview资产文件夹中播放mp3文件?
- 24. 的JavaFX的WebView:从资源文件夹,HTML加载CSS /图像
- 25. 在android中的webview中加载网页?
- 26. 从Android Studio中的资产文件夹渲染HTML文件
- 27. 通过阶段webview中的HTML页面加载本地文件
- 28. Android:如何在webview中从远程加载的html页面引用资产图像
- 29. 将值动态写入存储在资产文件夹内的html文件
- 30. JavaFX资源处理:在WebView中加载HTML文件
通过在单个网页视图中显示五个页面,你是什么意思? 至于如何从资产文件夹实际加载页面,请参阅下面的答案。 –
@StefanHållén看到我接受的答案,知道我的意思。 – Kishore
投票的原因是什么?????? – Kishore