我正在尝试使用ListView
根据我仅使用WebView
选择的内容打开不同的文件。
我设置了意图:
protected void onListItemClick(ListView l, View v, int position, long id) {
switch (position) {
case '0' :
Intent i = new Intent(getApplicationContext(), tabViewerClass.class);
startActivity(i);
}
}
在tabViewerClass
我有这个:
WebView tabViewing = (WebView) findViewById(R.id.webView1);
tabViewing.loadUrl("file:///android_asset/twentyseven.html");
第二行tabViewing.loadUrl("file:///android_asset/twentyseven.html");
我想在选择case 0
时调用,但如果我选择其他选项,我希望它在WebView
中调用另一个文件。
这样的事情:
case '0' :
Intent i = new Intent(getApplicationContext(), tabViewerClass.class);
startActivity(i);
load whatever file
case '1' :
Intent i = new Intent(getApplicationContext(), tabViewerClass.class);
startActivity(i);
load a different file in the webview
case '2' :
Intent i = new Intent(getApplicationContext(), tabViewerClass.class);
startActivity(i);
load a different file in webview
load whatever file
相当于tabViewing.loadUrl("file:///android_asset/twentyseven.html");
答案 0 :(得分:1)
您可以在意图中传递文件名:
Intent i = new Intent(getApplicationContext(), tabViewerClass.class);
i.putExtra("filename", "file:///android_asset/twentyseven.html");
startActivity(i);
并在tabViewerClass中:
String filename = getIntent().getStringExtra("filename");
WebView tabViewing = (WebView)findViewById(R.id.webView1);
tabViewing.loadUrl(filename);
答案 1 :(得分:1)
传递要加载的文件的另一种方法是使用Uri。
Intent i = new Intent(getApplicationContext(), tabViewerClass.class);
i.setData(Uri.parse("file:///android_asset/twentyseven.html"));
startActivity(i);
然后在webview中,您可以通过检索uri
来加载页面WebView tabViewing = (WebView) findViewById(R.id.webView1);
tabViewing.loadUrl(getIntent().getDataString());
两种方式都可以达到你想要的效果。