ListView 分页加载
来源:互联网 发布:液压系统仿真软件 编辑:程序博客网 时间:2024/05/23 00:03
package com.example.lianxtapplication.fragment; /** * A simple {@link Fragment} subclass. */public class ListViewFragment extends Fragment implements View.OnClickListener, AbsListView.OnScrollListener { private ListView lv; private int mPageIndex = 1; private int i3; private Button ba; private ProgressBar pr; private SwipeRefreshLayout Swip; private View footView1; private ListViewAdapter2 listViewAdapter2; private List<ListUser.ParamzBean.FeedsBean> list = new ArrayList<>(); private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); String st = (String) msg.obj; Log.e("---", st); Gson gson = new Gson(); ListUser listUser = gson.fromJson(st, ListUser.class); list.addAll(listUser.getParamz().getFeeds()); //适配器刷新 listViewAdapter2.notifyDataSetChanged(); Swip.setRefreshing(false); } }; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View inflate = inflater.inflate(R.layout.fragment_list_view, container, false); initView(inflate); initData(); initFootView(); initAdapter(); //下拉刷新 Swip.setProgressBackgroundColorSchemeResource(android.R.color.white); // 设置下拉进度的主题颜色 Swip.setColorSchemeResources(R.color.colorAccent, R.color.colorPrimary, R.color.colorPrimaryDark); Swip.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { list.clear(); mPageIndex = 1; initData(); } }); return inflate; } private void initAdapter() { listViewAdapter2 = new ListViewAdapter2(list, getActivity()); lv.addFooterView(footView1); lv.setAdapter(listViewAdapter2); } //初始化底部试图 private void initFootView() {
//在主页面里用//footView1 = getLayoutInflater().inflate(R.layout.item, null);//获取地部控件 因为在fragment里面所以要加 getActivity()
footView1 = getActivity().getLayoutInflater().inflate(R.layout.item, null);
//获取按钮id
ba = footView1.findViewById(R.id.basicaa);
//获取进度条的id
pr = footView1.findViewById(R.id.pr);
//按钮的点击事件
ba.setOnClickListener(this);
}
private void initData() {
new Thread(new Runnable() {
@Override
public void run() {
try {
String sendGet = MyOkHttp.getMyOkHttp().sendGet("http://litchiapi.jstv.com/api/GetFeeds?column=3&PageSize=10&pageIndex=" + mPageIndex + "&val=100511D3BE5301280E0992C73A9DEC41");
Message message = new Message();
message.obj = sendGet;
handler.sendMessage(message);
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
private void initView(View inflate) {
Swip = (SwipeRefreshLayout) inflate.findViewById(R.id.Swip);
lv = (ListView) inflate.findViewById(R.id.lv);
lv.setOnScrollListener(this);
}
//点击监听
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.basicaa:
//点击完显示加载进度条
pr.setVisibility(View.VISIBLE);
//将按钮隐藏
ba.setVisibility(View.GONE);
//变量增加
mPageIndex++;
//添加新数据
initData();
break;
}
}
//滑动状态监听 @Override
public void onScrollStateChanged(AbsListView absListView, int i) {
int count = listViewAdapter2.getCount();
if (i == 0 && count == i3) {
//滑动底部显示按钮
ba.setVisibility(View.VISIBLE);
//将加载进度条隐藏
pr.setVisibility(View.GONE);
}
}
//滑动时走的方法
@Override
public void onScroll(AbsListView absListView, int i, int i1, int i2) {
i3 = i2 - 1;
}
}
//ListView分页加载的布局
<LinearLayout 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.example.lianxtapplication.fragment.ListViewFragment" android:orientation="vertical" > <!-- TODO: Update blank fragment layout --> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/Swip" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent"></ListView> </android.support.v4.widget.SwipeRefreshLayout></LinearLayout>
//Button 按钮 ,ProgressBar 加载进度
<?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" ><Button android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/basicaa" android:text="点击加载" /> <ProgressBar android:visibility="gone" android:layout_width="match_parent" android:layout_height="50dp" android:layout_gravity="center" android:id="@+id/pr" /></LinearLayout>
阅读全文
0 0
- ListView分页加载
- listview分页加载
- listview分页加载问题
- ListView的分页加载
- ListView分页加载数据
- ListView 分页加载
- Android ListView 分页加载
- listview分页加载
- ListView分页加载数据
- listView分页加载数据
- listView 分页加载数据
- ListView分页加载数据
- listview分页加载!!!
- Listview分页加载
- listview分页加载问题
- ListView 分页加载数据
- listView分页加载数据
- 封装listview分页加载
- 炼数成金 大数据算法导论 十三课 学习路线
- 【Zookeeper】Linux Zookeeper配置
- 输入过滤
- 在Hadoop分布式集群中安装hive
- 决策树--信息增益,信息增益比,Geni指数的理解
- ListView 分页加载
- border-image用法
- 283. Move Zeroes
- 详解反向传播算法(上)
- 关于waitpid的返回值问题
- java8新特性之接口默认方法&静态方法
- 懒汉单例模式在多线程下的应用
- macOS安装sublime的subl命令报错
- iOS 11整理大集合