0

我有以下 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?

4

3 回答 3

0

实现一个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);
  }
}
于 2012-10-25T15:05:47.397 回答
0

您的 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");
            }
        });

如果您需要从您单击的项目中获取特定数据,请使用位置变量来获取它 - lv.getItemAtPosition(position)

如果这对您有帮助,请点赞!:)

于 2012-10-25T15:08:08.760 回答
0

如果在同一个活动中

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);

}
于 2012-10-25T15:21:01.217 回答