android 如何从ListView调用WebView

wgx48brx  于 2023-05-27  发布在  Android
关注(0)|答案(3)|浏览(144)

我有以下XML:

<string-array name="bookmark_titles">
    <item>Google</item>
    <item>Android</item>
    <item>Offspot</item>
</string-array>

<string-array name="bookmark_urls">
    <item>http://www.google.com</item>
    <item>http://www.android.com/</item>
    <item>http://www.offspot.com</item>
</string-array>

和这个ListView放在一个单独的文件中:

<ListView
    android:id="@+id/favoritos_listView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:divider="#ECECEC"
    android:dividerHeight="1sp" />

韦夫比耶夫

WebView wv = (WebView) findViewById(R.id.webview);

这就是我如何实现ListView

ArrayAdapter<CharSequence> aa = ArrayAdapter.createFromResource(this, R.array.bookmark_titles, android.R.layout.simple_list_item_1);
    lv.setAdapter(aa);

单击ListView中的项目时,如何调用WebView?

jhdbpxl9

jhdbpxl91#

实现一个OnItemClickListener并将其设置为ListView,如下所示:

listView.setOnItemClickListener(new OnItemClickListener() {
  onItemClick(AdapterView<?> parent, View view, int position, long id) {
    String url = getContext().getResources().getStringArray(R.array.bookmark_urls)[position];
    //opens the url in one of the Android Browsers.
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse(url));
    getContext().startActivity(intent);
  }
}
hxzsmxv2

hxzsmxv22#

如果在同一活动中

WebView lWebView = (WebView)MyLayout.findViewById(R.id.webView);
    lWebView.setVisibility(View.GONE);//you can use View.INVISIBLE also if you need to keep the space
    String[] lTestArray =  = getResources().getStringArray(R.array. bookmark_urls);
    listView.setOnItemClickListener(new OnItemClickListener(){
                public void onItemClick(AdapterView<?> parent, View view, int position, long id){
                    lWebView.setVisibility(View.VISIBLE); //Show the webview
                    lWebView.loadUrl(lTestArray[position]);
                }
            });

编辑****其他活动
ListView类

listView.setOnItemClickListener(new OnItemClickListener(){
                public void onItemClick(AdapterView<?> parent, View view, int position, long id){
                    Intent intent=new Intent(this,YOURCLASS.class);
                    intent.putExtra("Link",lTestArray[position]);
                    startActivity(intent);
                }
            });

WebView类

Bundle bundle=getIntent().getExtras();
    String link=bundle.getString("Link",null);
    if(!link.equals(null)){
    WebView lWebView = (WebView)MyLayout.findViewById(R.id.webView);
    lWebView.loadUrl(link);

}
ie3xauqp

ie3xauqp3#

您的WebView的名称是什么?
首先你需要一个引用到你的网页视图。

WebView mWebView = (WebView)MyLayout.findViewById(R.id.webView1);

然后,您的列表视图需要一个itemOnClick方法,它决定在单击列表视图项时执行什么操作

//Show webview
        lv.setOnItemClickListener(new OnItemClickListener(){
            public void onItemClick(AdapterView<?> parent, View view, int position, long id){
                mWebView.setVisibility(View.VISIBLE); //Show the webview
                mWebView.refreshDrawableState();
                mWebView.loadUrl("www.google.com");
            }
        });

如果你需要从你点击的项目中获取特定的数据,你可以使用position变量来获取- lv.getItemAtPosition(position)

相关问题