本文主要介绍一下,如何在listview中加入webview,并且实现下拉刷新,效果如图:
废话不多说,直接过程:
1.mainActivity布局文件:
<span style="font-size:14px;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<com.happy.demo.xlistview.XListView
android:id="@+id/xlv_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#f5f5f5"
android:divider="#00000000"
android:footerDividersEnabled="false"
android:headerDividersEnabled="false"
android:listSelector="#00000000" >
</com.happy.demo.xlistview.XListView>
</RelativeLayout></span>
2
.mainActivity主界面java代码:
<span style="font-size:14px;">package com.happy.demo;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import com.happy.demo.adapter.MyAdapter;
import com.happy.demo.xlistview.XListView;
import com.happy.demo.xlistview.XListView.IXListViewListener;
public class MainActivity extends Activity implements IXListViewListener {
private XListView xlv_list;
private List<String> lists = new ArrayList<String>();
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xlv_list = (XListView) this.findViewById(R.id.xlv_list);
lists.add("http://www.qq.com");
adapter = new MyAdapter(lists, MainActivity.this);
xlv_list.setAdapter(adapter);
xlv_list.setXListViewListener(this, 0);
xlv_list.setPullLoadEnable(false);
xlv_list.setRefreshTime();
}
@Override
public void onRefresh(int id) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
xlv_list.setRefreshTime();
xlv_list.stopRefresh();
}
}, 3000);
}
@Override
public void onLoadMore(int id) {
// TODO Auto-generated method stub
}
}</span>
3.adapter适配器item布局xml代码:
<span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<WebView
android:id="@+id/wb_webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout></span>
4.adapter适配器java代码:
<span style="font-size:14px;">package com.happy.demo.adapter;
import java.util.List;
import com.happy.demo.R;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.BaseAdapter;
/**
* @author zhonglq
* @version V1.0
* @Date 2014-10-25 下午10:53:37
*/
public class MyAdapter extends BaseAdapter {
private List<String> lists;
private Context context;
public MyAdapter(List<String> lists, Context context) {
this.lists = lists;
this.context = context;
}
@Override
public int getCount() {
return lists.size();
}
@Override
public Object getItem(int position) {
return lists.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = View.inflate(context, R.layout.list_item, null);
}
WebView wb_webView = (WebView) convertView
.findViewById(R.id.wb_webView);
setWebView(lists.get(position), wb_webView);
return convertView;
}
private void setWebView(String url, WebView webView) {
webView.loadUrl(url);
}
}</span>
这样就可以实现在listview中嵌入webView并且实现下拉刷新的效果了,代码并不多,并且比较好懂,就不多作解释了。