XListView
来源:互联网 发布:湖北地税网络纳税 编辑:程序博客网 时间:2024/06/06 14:07
XListVuewd的使用
2017/10/14 10:29:08
地址
https://github.com/Maxwin-z/XListView-Android
下载
git clone https://github.com/Maxwin-z/XListView-Android.git
下载完成
拷贝类文件
拷贝资源文件
代码
xListView.setPullRefreshEnable(true);//设置下拉刷新 xListView.setPullLoadEnable(true);//设置上拉加载更多 xListView.setXListViewListener(this);//设置xlistView的监听事件
监听
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{ //下拉方法 @Override public void onRefresh() { //停止刷新 xListView.stopRefresh(); //设置本次刷新的时间 xListView.setRefreshTime(simpleDateFormat.format(date)); } //上拉方法 @Override public void onLoadMore() { //停止加载 xListView.stopLoadMore(); }}
刷新和加载的思路
- 定义一个集合
- 刷新的时候清空集合,添加数据,刷新适配器
- 加载的时候往集合的后面添加数据,刷新适配器
案例
效果
布局文件
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.maohuawei.xlistviewdemo.MainActivity"> <com.example.xlistviewlibrary.XListView android:id="@+id/xlist_view" android:layout_width="match_parent" android:layout_height="match_parent"> </com.example.xlistviewlibrary.XListView></android.support.constraint.ConstraintLayout>
代码
import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import com.example.maohuawei.xlistviewdemo.adapter.MyBaseAdapter;import com.example.xlistviewlibrary.XListView;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener { private static final int SIZE = 10; private XListView xlist_view; private List<String> list = new ArrayList<>(); private MyBaseAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xlist_view = (XListView) findViewById(R.id.xlist_view); //设置刷新 xlist_view.setPullRefreshEnable(true); //设置加载 xlist_view.setPullLoadEnable(true); //设置监听 xlist_view.setXListViewListener(this); //初始化数据 initData(); } private void initData() { //清空集合 list.clear(); ArrayList<String> arr = new ArrayList<>(); for (int a = 0; a < SIZE; a++) { arr.add(a + ""); } //添加数据 list.addAll(0, arr); //设置适配器 setAdapter(); } public void setLoadData() { for (int a = 0; a < SIZE; a++) { list.add(a + ""); } setAdapter(); } @Override public void onRefresh() { //初始化数据 initData(); //停止刷新 xlist_view.stopRefresh(); //设置刷新时间 xlist_view.setRefreshTime(new SimpleDateFormat("HH:mm").format(new Date())); } @Override public void onLoadMore() { //加载数据 setLoadData(); //停止加载 xlist_view.stopLoadMore(); } public void setAdapter() { //对适配器进行判空 if (adapter == null) { //实例化 adapter = new MyBaseAdapter(MainActivity.this, list); //设置适配器 xlist_view.setAdapter(adapter); } else { //刷新适配器 adapter.notifyDataSetChanged(); } }}
适配器
import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;import com.example.maohuawei.xlistviewdemo.R;import java.util.List;/** * Created by maohuawei on 2017/10/23. * <p> * 自定义适配器 */public class MyBaseAdapter extends BaseAdapter { //上下文 private Context context; //集合 private List<String> list; public MyBaseAdapter(Context context, List<String> list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { holder = new ViewHolder(); convertView = convertView.inflate(context, R.layout.item_xlistview, null); holder.tv_item = convertView.findViewById(R.id.tv_item); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.tv_item.setText(list.get(position)); return convertView; } /** * ViewHolder优化类 */ private static class ViewHolder { private TextView tv_item; }}
item布局文件
<?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"> <TextView android:id="@+id/tv_item" android:layout_width="match_parent" android:layout_height="60dp" android:textSize="20sp" /></LinearLayout>
阅读全文
0 0
- XListView
- XListView
- Xlistview
- XListView
- xListView
- XListView
- xlistview
- xListView
- XlistView
- xlistview
- xlistview
- XListView
- xlistview
- xListview
- XListView
- XListView
- xlistview
- xlistview
- 【1139】叙拉古猜想
- spark性能优化高级篇
- Uva 753 A Plug for UNIX 方法二
- 51nod 1049 最大子段和
- 【PE】Linux 如何解决共享库的版本控制
- XListView
- (转)Python 字符串格式化 (%操作符)
- 阿里巴巴java插件
- HDU3656-Fire station
- android webview 遇到android.os.FileUriExposedException错误
- 338. Counting Bits
- 【1135】阿姆斯特朗数
- Android Studio XListView制作Library
- (2)Xamarin Android 常见问题(不能预览,axml没有智能提示)