我有超过100个html文件,我想每一个文件打开就行单击列表视图和每个HTML文件应在web视图打开,我想这code,但是这是行不通的,只有在web视图中打开的连续点击,HTML文件没有显示出来。
包com.Example.apk;
进口android.app.Activity;
进口android.graphics.Bitmap;
进口android.os.Bundle;
进口android.webkit.WebViewClient;
公共类的WebView延伸活动{
公共类WebViewActivity延伸活动{
的WebView网页;
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_webview);
网页=(web视图)findViewById(R.id.webview1);
web.setWebViewClient(新myWebClient());
web.getSettings()setJavaScriptEnabled(真)。
INT POS = getIntent()getIntExtra(钥匙,0);
如果(POS == 0)
{
web.loadUrl(文件:///android_asset/work.html);
}
否则,如果(位置== 1)
{
web.loadUrl(文件:///android_asset/work1.html);
}
否则,如果(位置== 2)
{
web.loadUrl(文件:///android_asset/work2.html);
}
否则,如果(POS == 3)
{
web.loadUrl(文件:///android_asset/work3.html);
}
//同样为4和5等。
}
公共类myWebClient扩展WebViewClient
{
@覆盖
公共无效onPageStarted(web视图查看,字符串URL,位图图标){
// TODO自动生成方法存根
super.onPageStarted(查看,网址,网站图标);
}
@覆盖
公共布尔shouldOverrideUrlLoading(web视图查看,字符串URL){
// TODO自动生成方法存根
view.loadUrl(URL);
返回true;
}
@覆盖
公共无效onReceivedError(web视图来看,INT错误code,
字符串描述,字符串failingUrl){
}
@覆盖
公共无效onPageFinished(web视图查看,字符串URL){
// TODO自动生成方法存根
super.onPageFinished(查看,网址);
}
}
}
}
解决方案
通过位置,下一个活动。
list1.setOnItemClickListener(新OnItemClickListener(){
公共无效onItemClick(适配器视图<>母公司视图中查看,
INT位置,长的id){
意图myIntent =新的意图(MainActivtiy.this,WebViewActivity.class);
myIntent.putExtra(钥匙,位置);
startActivity(myIntent);
}
});
然后在WebViewActivity即activity_webview)
公共类WebViewActivity延伸活动{
的WebView网页;
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_webview);
网页=(web视图)findViewById(R.id.webview1);
web.setWebViewClient(新myWebClient());
web.getSettings()setJavaScriptEnabled(真)。
INT POS = getIntent()getIntExtra(钥匙,0);
如果(POS == 0)
{
web.loadUrl(文件:///android_asset/work.html);
}
否则,如果(位置== 1)
{
web.loadUrl(文件:///android_asset/work1.html);
}
否则,如果(位置== 2)
{
web.loadUrl(文件:///android_asset/work2.html);
}
否则,如果(POS == 3)
{
web.loadUrl(文件:///android_asset/work3.html);
}
... //同样为4和5等。
}
公共类myWebClient扩展WebViewClient
{
@覆盖
公共无效onPageStarted(web视图查看,字符串URL,位图图标){
// TODO自动生成方法存根
super.onPageStarted(查看,网址,网站图标);
}
@覆盖
公共布尔shouldOverrideUrlLoading(web视图查看,字符串URL){
// TODO自动生成方法存根
view.loadUrl(URL);
返回true;
}
@覆盖
公共无效onReceivedError(web视图来看,INT错误code,
字符串描述,字符串failingUrl){
}
@覆盖
公共无效onPageFinished(web视图查看,字符串URL){
// TODO自动生成方法存根
super.onPageFinished(查看,网址);
}
}
XML为WebViewActivity
< LinearLayout中的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
机器人:方向=垂直>
<的WebView
机器人:ID =@ + ID / webView1
机器人:layout_width =match_parent
机器人:layout_height =match_parent/>
< / LinearLayout中>
请在清单文件中WebViewActivity的条目。
i have more than 100 html files and i want each file to open on row click in listview and each html file should open in the webview , i tried this code but this is not working, only the webview opens on row click , the html file is not showing up.
package com.Example.apk;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.webkit.WebViewClient;
public class WebView extends Activity {
public class WebViewActivity extends Activity {
WebView web;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webview);
web = (WebView) findViewById(R.id.webview1);
web.setWebViewClient(new myWebClient());
web.getSettings().setJavaScriptEnabled(true);
int pos = getIntent().getIntExtra("key",0);
if(pos==0)
{
web.loadUrl("file:///android_asset/work.html");
}
else if(pos==1)
{
web.loadUrl("file:///android_asset/work1.html");
}
else if(pos==2)
{
web.loadUrl("file:///android_asset/work2.html");
}
else if(pos==3)
{
web.loadUrl("file:///android_asset/work3.html");
}
// similarly for 4 and 5 and so on.
}
public class myWebClient extends WebViewClient
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
}
}
}
解决方案
Pass the position to next Activity
list1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent myIntent = new Intent(MainActivtiy.this,WebViewActivity.class);
myIntent.putExtra("key",position);
startActivity(myIntent);
}
});
Then in WebViewActivity ie activity_webview)
public class WebViewActivity extends Activity {
WebView web;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webview);
web = (WebView) findViewById(R.id.webview1);
web.setWebViewClient(new myWebClient());
web.getSettings().setJavaScriptEnabled(true);
int pos = getIntent().getIntExtra("key",0);
if(pos==0)
{
web.loadUrl("file:///android_asset/work.html");
}
else if(pos==1)
{
web.loadUrl("file:///android_asset/work1.html");
}
else if(pos==2)
{
web.loadUrl("file:///android_asset/work2.html");
}
else if(pos==3)
{
web.loadUrl("file:///android_asset/work3.html");
}
...// similarly for 4 and 5 and so on.
}
public class myWebClient extends WebViewClient
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
}
xml for WebViewActivity
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<WebView
android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Make an entry for WebViewActivity in Manifest file.