您的位置:首页 > 移动开发 > Android开发

Android第三方框架之xListView的使用方法

2015-07-20 00:59 549 查看


Android第三方框架之xListView的使用方法

时间:2015-01-30 14:03来源:www.chengxuyuans.com
点击: 351

==最近向用xListView实现刷新效果,在网上没有找到相关的例子和方法说明。自己看了会儿demo在此留下笔记以供日后复习==

第一步:到官网下载第三方包,拷贝到自己的项目中。要注意的地方是在layout,String和drawable下也有这个控件的配置信息,这个一定要考进去。

第二步:布局文件(背景一定要设置成透明色)

<me.maxwin.view.XListView
android:
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方法)

ps:各位大神请轻喷,另外希望爱好编程的小伙伴能加这个群,互相帮助,共同学习。群号: 141877583
转载注明地址:http://www.chengxuyuans.com/Android/89619.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: