Android第三方框架之xListView的使用方法 第一步:到官网下载第三方包,拷贝到自己的项目中。要注意的地方是在layout,String和drawable下也有这个控件的配置信息,这个一定要考进去。 第二步:布局文件(背景一定要设置成透明色)
<me.maxwin.view.XListView android:id="@+id/xListView" android:layout_width="fill_parent" android:layout_height="fill_parent"android:cacheColorHint="#00000000"> </me.maxwin.view.XListView> 第三步:开始编写java代码 package me.maxwin;
import java.util.ArrayList;
import me.maxwin.view.XListView; import me.maxwin.view.XListView.IXListViewListener; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.widget.ArrayAdapter;
public class XListViewActivity extends Activity implements IXListViewListener {
private XListView mListView;
//创建XListView对象
private ArrayAdapter<String> mAdapter;
//创建适配器
private ArrayList<String> items = new ArrayList<String>();
//这个是本例中模拟的数据
private Handler mHandler;
//用来模拟网络请求的(不要被迷惑)
private int start = 0;
private static int refreshCnt = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
geneItems();
mListView = (XListView) findViewById(R.id.xListView);// ~~指定布局中的xListView控件
mListView.setPullLoadEnable(true);//上拉刷新
mAdapter = new ArrayAdapter<String>(this, R.layout.list_item, items);//用模拟的数据填充系统的adapter
mListView.setAdapter(mAdapter);//指定adapter //
mListView.setPullLoadEnable(false); //
mListView.setPullRefreshEnable(false);//下拉刷新
mListView.setXListViewListener(this);//给xListView设置监听 ******
//给xListView条目设置监听事件
mHandler = new Handler();
} private void geneItems() { for (int i = 0; i != 5; ++i) { items.add("refresh cnt"+ (++start)); } }
//或的数据后一定要加onLoad()方法,否则刷新会一直进行,根本停不下来
private void onLoad() { mListView.stopRefresh(); mListView.stopLoadMore(); mListView.setRefreshTime("刚刚"); }
@Override public void onRefresh() { mHandler.postDelayed(new Runnable() { @Override public void run() { start = ++refreshCnt; items.clear(); geneItems(); // mAdapter.notifyDataSetChanged(); mAdapter = new ArrayAdapter<String>(XListViewActivity.this, R.layout.list_item, items);
mListView.setAdapter(mAdapter); onLoad(); } }, 2000);
} @Override public void onLoadMore() { mHandler.postDelayed(new Runnable() { @Override public void run() { geneItems(); mAdapter.notifyDataSetChanged(); onLoad(); } }, 2000); }
} 需要注意的地方: 1.给XListViewListener 设置监听事件mListView.setXListViewListener(this); 2.获取数据后调用onLoad()方法 3.如果想给xListView中的条目设置监听事件和原来的ListView一样(重写了ListView的OnItemClickListen方法)