PullToRefresh上拉刷新下拉加载
2016-05-04 10:26
330 查看
主activity 主要显示所在城市和一个简单的listview和异步请求
package com.example.booktest;
import java.util.List;
import com.baidu.location.BDLocation;
public class MainActivity extends Activity {
}
activity上拉刷新和下拉加载
package com.example.booktest;
import java.util.ArrayList;
import java.util.List;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;
com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
public class SenterActivity extends Activity {
}
上拉刷新布局
package com.example.booktest;
import java.util.List;
import com.baidu.location.BDLocation;
public class MainActivity extends Activity {
private ListView lv; private String url = "http://apis.juhe.cn/goodbook/catalog?key=9d6ef8c31647a206e05fcaff70527182"; private TextView tv; public LocationClient mLocationClient = null; public BDLocationListener myListener = new MyLocationListener(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv);//加载控件 tv = (TextView) findViewById(R.id.tv); Dingwei(); new mAsyncs().execute(url); } private void Dingwei() { mLocationClient = new LocationClient(getApplicationContext()); // 声明LocationClient类 mLocationClient.registerLocationListener(myListener); // 注册监听函数 LocationClientOption option = new LocationClientOption(); option.setOpenGps(true); // 打开gps option.setIsNeedAddress(true);// 可选,设置是否需要地址信息,默认不需要 , 反编译获得具体位置,只有网络定位才可以 option.setCoorType("bd09ll"); // 设置坐标类型 option.setScanSpan(5000); mLocationClient.setLocOption(option); mLocationClient.start(); } public class MyLocationListener implements BDLocationListener { public void onReceiveLocation(BDLocation location) { tv.setText(location.getCity()); } } class mAsyncs extends AsyncTask<String, Void, List<mResult>>{ @Override protected List<mResult> doInBackground(String... params) { // TODO Auto-generated method stub String str = params[0]; String data = new GetHttpUrlConnection().getHttpUrlData(str); Gson gson = new Gson(); MyBooks fromJson = gson.fromJson(data, MyBooks.class); List<mResult> result = fromJson.getResult(); return result; } @Override protected void onPostExecute(final List<mResult> result) { // TODO Auto-generated method stub super.onPostExecute(result); lv.setAdapter(new mAdapter(MainActivity.this,result)); lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { // TODO Auto-generated method stub Intent in = new Intent(MainActivity.this,SenterActivity.class); in.putExtra("mid", result.get(position).getId()); Log.i("aaa", "mid =========="+result.get(position).getId()); startActivity(in); } }); } }
}
activity上拉刷新和下拉加载
package com.example.booktest;
import java.util.ArrayList;
import java.util.List;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;
com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
public class SenterActivity extends Activity {
private PullToRefreshGridView mGridview; private String catalog_id; private String url; private int post = 1; private static int sizes = 1; //private String uri = "http://apis.juhe.cn/goodbook/query?key=9d6ef8c31647a206e05fcaff70527182&pn="+sizes+"&rn=3&"; private String uri = null; private sAdapter myAdapter; private List<myData> list = new ArrayList<myData>(); Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { List<myData> listBook = (List<myData&g 4000 t;) msg.obj; if(post == 1){ list.clear(); } list.addAll(listBook); if(myAdapter == null){ myAdapter = new sAdapter(SenterActivity.this,listBook); mGridview.setAdapter(myAdapter); }else { myAdapter.upData(list); } }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_senter); mGridview = (PullToRefreshGridView) findViewById(R.id.mGridview); ImageLoaderConfiguration conf=ImageLoaderConfiguration. createDefault(SenterActivity.this); ImageLoader.getInstance().init(conf); Intent intent = getIntent(); catalog_id = intent.getStringExtra("mid"); //Log.i("aaa", "url========="+catalog_id); getXmlData(); mGridview.setOnRefreshListener(new OnRefreshListener2<GridView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<GridView> refreshView) { Toast.makeText(SenterActivity.this, "正在刷新......", Toast.LENGTH_SHORT).show(); post = 1; sizes+=3; Log.i("aaa", "size======= "+sizes); getXmlData(); mGridview.onRefreshComplete(); } @Override public void onPullUpToRefresh(PullToRefreshBase<GridView> refreshView) { Toast.makeText(SenterActivity.this, "正在加载......", Toast.LENGTH_SHORT).show(); /*new GetDataTask().execute();*/ post++; sizes+=5; Log.i("aaa", "size======= "+sizes); getXmlData(); Log.i("aaa", "url========"+url); mGridview.onRefreshComplete(); } }); } private void getXmlData() { // TODO Auto-generated method stub new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub url = "http://apis.juhe.cn/goodbook/query?key=9d6ef8c31647a206e05fcaff70527182&pn="+sizes+"&rn=5&"+"catalog_id="+catalog_id; GetHttpUrlConnection g = new GetHttpUrlConnection(); String data = g.getHttpUrlData(url); Gson gson = new Gson(); MyObjec fromJson = gson.fromJson(data, MyObjec.class); List<myData> list = fromJson.getResult().getData(); //Log.i("aaa", "3333======"+list.toString()); Message msg = Message.obtain(); msg.obj = list; handler.sendMessage(msg); } }).start(); }
}
上拉刷新布局
相关文章推荐
- 开源分布式搜索平台ELK+Redis+Syslog-ng实现日志实时搜索
- 使用Set移除List中相同元素方法
- SAP物料移动类型和自动科目设置(包含财务,pp)
- 虚拟机的垃圾回收机制
- php面向对象全攻略 (十) final static const关键字的使用
- 我来了
- C# 图片文件文本string格式 传输问题
- CentOS6.5搭建SVN配置教程
- 105\106. Construct Binary Tree from Inorder and Postorder\Preorder Traversal&重建二叉树
- openwrt下使用gdbserver远程调试
- 纯QML实现视频播放器
- 字符编码笔记:ASCII,Unicode和UTF-8
- HTTPClient模块的HttpGet和HttpPost
- jsonp其实很简单【ajax跨域请求】
- Sublime Text 3 快捷键精华版
- 当一个节点在CM中出现2条记录,导致启动hadoop集群失败,host_id 始终找不到匹配的host_identifier
- 欢迎使用CSDN-markdown编辑器
- 《Nodejs开发加密货币》之八:一个精巧的p2p网络实现
- VSS自动登陆设置
- Python安装BeautifulSoup库(Windows平台下)