How to load HTML file in webview on onitemclick

后端 未结 2 1594
暖寄归人
暖寄归人 2021-01-25 10:59

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,

2条回答
  •  渐次进展
    2021-01-25 11:04

    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

    
    
    
    
    
    

    Make an entry for WebViewActivity in Manifest file.

提交回复
热议问题