上拉刷新,下拉加载

来源:互联网 发布:网络与端口有何区别 编辑:程序博客网 时间:2024/06/07 16:50

====================layout布局中需导入list_item_refresh.xml、xlistview_footer.xml、xlistview_header.xml等3项=======================================

==========================================activity_main布局================================================

<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="com.hf.view.MainActivity" >


    <com.hf.xListView.XListView
        android:id="@+id/xlistview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />


</RelativeLayout>


==========================在src中,需要导入XListView、XListViewFooter、XListViewHeader 等3项===========================================

============MainActivity中(此处为死数据,较为简单)=========================

package com.hf.view;


import java.util.ArrayList;
import java.util.List;


import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.ArrayAdapter;


import com.hf.xListView.XListView;
import com.hf.xListView.XListView.IXListViewListener;


public class MainActivity extends Activity implements IXListViewListener {


List<String> list = new ArrayList<String>();


Handler hd = new Handler(){
public void handleMessage(android.os.Message msg) {

};
};


private ArrayAdapter<String> adapter;


private XListView xlistview;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 数据
getItems();


xlistview = (XListView) findViewById(R.id.xlistview);


// 下拉刷新可用
xlistview.setPullRefreshEnable(true);
// 加载更多可用
xlistview.setPullLoadEnable(true);
//适配器
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_expandable_list_item_1,
android.R.id.text1, list);


xlistview.setXListViewListener(this);

xlistview.setAdapter(adapter);


}


private void getItems() {
for (int i = 0; i < 10; i++) {
list.add("赵会芳" + i);
}
}


/**
* 下拉刷新回调
*/
@Override
public void onRefresh() {
hd.postDelayed(new Runnable() {

@Override
public void run() {
list.add(0,"弟弟");

runOnUiThread(new Runnable() {
public void run() {
adapter.notifyDataSetChanged();

close();
}


private void close() {
xlistview.stopLoadMore();
xlistview.stopRefresh();
}
});
}
}, 2000);
}


/**
* 加载更多回调
*/
@Override
public void onLoadMore() {
hd.postDelayed(new Runnable() {

@Override
public void run() {
list.add("圆圆");

runOnUiThread(new Runnable() {
public void run() {
adapter.notifyDataSetChanged();

close();
}


private void close() {
xlistview.stopLoadMore();
xlistview.stopRefresh();
}
});
}
}, 2000);
}


}

0 0
原创粉丝点击