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

部署运行你感兴趣的模型镜像
==最近向用xListView实现刷新效果,在网上没有找到相关的例子和方法说明。自己看了会儿demo在此留下笔记以供日后复习==
第一步:到官网下载第三方包,拷贝到自己的项目中。要注意的地方是在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方法)


希望爱好编程的小伙伴能加这个群,互相帮助,共同学习。群号: 141877583

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值