XListView刷新、加载
来源:互联网 发布:见过的高人 知乎 编辑:程序博客网 时间:2024/04/29 23:17
package com.bawei.test313.activity;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Environment;import android.util.Log;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;import com.bawei.test313.R;import com.bawei.test313.adapter.MyAdapter;import com.bawei.test313.bean.Info;import com.google.gson.Gson;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.TextHttpResponseHandler;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import cz.msebera.android.httpclient.Header;import xlistview.example.administrator.myxlistviewlibrary.XListView;/** * Created by Administrator on 2017/3/13. */public class TestBActivity extends Activity { private XListView listViewB; private ArrayList<Info.Result> parent_list; private ArrayList<Info.Result> result; private int index=1; private ArrayList<Info.Result> list_now; private MyAdapterB myAdapterB; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second_main); listViewB = (XListView) findViewById(R.id.listviewB); getNetData(); listViewB.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent=new Intent(TestBActivity.this,DetailActivity.class); intent.putExtra("city",result.get(position).city); startActivity(intent); } }); listViewB.setPullRefreshEnable(true); listViewB.setPullLoadEnable(true); listViewB.setXListViewListener(new XListView.IXListViewListener() { @Override public void onRefresh() { //刷新 listViewB.postDelayed(new Runnable() { @Override public void run() { Log.i("---",index+""); list_now.clear(); index=0; int j=index+20; for (int i=index;i<j;i++){ index++; Log.i("now---",index+"---"); list_now.add(result.get(i)); } myAdapterB.notifyDataSetChanged();//刷新适配器 listViewB.stopRefresh(); } },2000); } @Override public void onLoadMore() { listViewB.postDelayed(new Runnable() { @Override public void run() { Log.i("---",index+""); int j=index+20; for (int i=index;i<j;i++){ index++; Log.i("now---",index+"---"); list_now.add(result.get(i)); } myAdapterB.notifyDataSetChanged();//刷新适配器 listViewB.stopLoadMore(); } },2000); } }); } //网络请求数据 void getNetData() { String url = "http://api.jisuapi.com/weather/city?appkey=b4d06fdd59ed379f"; AsyncHttpClient client = new AsyncHttpClient(); client.get(TestBActivity.this, url, new TextHttpResponseHandler() { @Override public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) { //失败 Log.i("测试", "失败"); } @Override public void onSuccess(int statusCode, Header[] headers, String responseString) { //成功 // Log.i("测试","成功"+responseString); String path = Environment.getExternalStorageDirectory() .getPath() + "/json.txt"; File file = new File(path); try { file.createNewFile();//创建文件 FileWriter fileWriter = new FileWriter(file); fileWriter.write(responseString); fileWriter.flush();//刷新 fileWriter.close(); } catch (IOException e) { e.printStackTrace(); } getData(responseString); } }); } //解析数据 且分类 void getData(String responseString) { Gson gson = new Gson(); Info info = gson.fromJson(responseString, Info.class); result = info.result; list_now = new ArrayList<Info.Result>(); for (int i=0;i<31;i++){ index++; list_now.add(result.get(i));//得到30条数据 } myAdapterB = new MyAdapterB(); listViewB.setAdapter(myAdapterB); } class MyAdapterB extends BaseAdapter { @Override public int getCount() { return list_now.size(); } @Override public Object getItem(int position) { return list_now.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = convertView.inflate(TestBActivity.this, R.layout.itemb, null); holder = new ViewHolder(); holder.itemtext = (TextView) convertView.findViewById(R.id.itemtext); holder.item_null = (TextView) convertView.findViewById(R.id.text_null); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.itemtext.setText(list_now.get(position).city); if (list_now.get(position).parentid.equals("0")){ // 动态设置权重,宽,高;参数: 宽 高 权重 holder.itemtext.setLayoutParams(new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f)); holder.item_null.setLayoutParams(new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f)); }else{ holder.itemtext.setLayoutParams(new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT, 2.0f)); holder.item_null.setLayoutParams(new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f)); } return convertView; } } class ViewHolder { TextView itemtext; TextView item_null; }}
0 0
- Xlistview加载刷新小案列
- XListView刷新、加载
- xlistview刷新 加载方法
- XListView下拉刷新下拉加载
- XListView 展示刷新与加载
- XlistView加载刷新(主内容)
- Xlistview加载刷新(副类)
- XlistView刷新及加载更多
- 多条目加载+XlistView刷新加载更多
- XlistView上拉刷新下拉加载
- xListView上拉刷新下拉加载
- xListView上拉加载下拉刷新
- XListView上拉加载,下拉刷新
- xlistview上拉加载下拉刷新
- XListView上拉加载下拉刷新
- XListView上拉刷新,下拉加载
- 上拉刷新--下拉加载XListView
- XListView上拉加载下拉刷新
- 接口
- ExpandableListAdapter二级菜单适配器
- bzoj1215: [HNOI2003]24点游戏
- 第二章——继承
- bzoj1216: [HNOI2003]操作系统
- XListView刷新、加载
- Java面向对象
- 【技能库】--spring boot , how to run web app jar(168)
- python 程序控制结构
- BZOJ1015 星球大战starwar (并查集)
- Ubuntu 16.04下CPU only模式的caffe安装
- Javaer如何快速从eclipse转入idea编辑器
- 【局部特征】二、Harris角点
- 浙大17年校赛(ZOJ 3953) Intervals[贪心]