PullToRefreshGridView刷新加载2
@XStreamAlias("result")
public class Myresult {
@XStreamImplicit(itemFieldName="item")
package com.example.yuekao1;
import java.util.ArrayList;
import java.util.List;
import com.baidu.net.Network;
import com.baidu.vo1.Good;
import com.baidu.vo1.Mydata;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;
import com.handmark.pulltorefresh.library.PullToRefreshGridView;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.format.DateUtils;
import android.view.KeyEvent;
import android.widget.GridView;
import android.widget.Toast;
public class Show extends Activity implements OnRefreshListener2<GridView> {
private String name;
private PullToRefreshGridView gv;
private List<Mydata> data;
private Base1 b1;
List<Mydata> list = new ArrayList<Mydata>();
private Exit exit;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
gv = (PullToRefreshGridView) findViewById(R.id.gv);
new Asy().execute();
gv.setOnRefreshListener(this);
exit = new Exit();
Intent in = getIntent();
name = in.getStringExtra("id");
}
class Asy extends AsyncTask<String, Integer, String> {
protected String doInBackground(String... params) {
String s1 = Network
.getjson("http://apis.juhe.cn/goodbook/query?key=9d6ef8c31647a206e05fcaff70527182&dtype=gson&rn=10&pn=10&catalog_id="
+ name);
return s1;
}
protected void onPostExecute(String result) {
Gson g = new Gson();
Good json = g.fromJson(result, Good.class);
if (fromJson.getResult() != null
&& fromJson.getResult().getData() != null) {
List<Mydata> data = fromJson.getResult().getData();
list = data;
b2 = new Base2(list, Show.this);
gv.onRefreshComplete();
gv.setAdapter(b2);
initIndicator();
}
}
}
class Asynt extends AsyncTask<String, Integer, String> {
protected String doInBackground(String... params) {
String s1 = Network
.getjson("http://apis.juhe.cn/goodbook/query?key=9d6ef8c31647a206e05fcaff70527182&dtype=gson&rn=10&pn=10&catalog_id="
+ name);
return s1;
}
protected void onPostExecute(String result) {
Gson g = new Gson();
Good json = g.fromJson(result, Good.class);
List<Mydata> data2 = json.getResult().getData();
list.addAll(data2);
b1.notifyDataSetChanged();
gv.onRefreshComplete();
initIndicator();
}
}
public void onPullDownToRefresh(PullToRefreshBase<GridView> refreshView) {
new Asy().execute();
}
public void onPullUpToRefresh(PullToRefreshBase<GridView> refreshView) {
new Asynt().execute();
}
private void initIndicator() {
String label = DateUtils.formatDateTime(getApplicationContext(),
System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME
| DateUtils.FORMAT_SHOW_DATE
| DateUtils.FORMAT_ABBREV_ALL);
gv.getLoadingLayoutProxy().setLastUpdatedLabel(label);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
pressAgainExit();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void pressAgainExit() {
if (exit.isExit()) {
finish();
} else {
Toast.makeText(getApplicationContext(), "再按一次退出程序",
Toast.LENGTH_SHORT).show();
exit.doExitInOneSecond();
}
}
}
package com.example.yuekao1;
import android.os.Handler;
import android.os.HandlerThread;
public class Exit {
private boolean isExit = false;
private Runnable task = new Runnable() {
@Override
public void run() {
isExit = false;
}
};
public void doExitInOneSecond() {
isExit = true;
HandlerThread thread = new HandlerThread("doTask");
thread.start();
new Handler(thread.getLooper()).postDelayed(task, 1000);
}
public boolean isExit() {
return isExit;
}
public void setExit(boolean isExit) {
this.isExit = isExit;
}
}
<com.handmark.pulltorefresh.library.PullToRefreshGridView
xmlns:ptr="http://schemas.android.com/apk/res-auto"
android:id="@+id/gv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"
android:divider="#19000000"
android:dividerHeight="4dp"
android:fadingEdge="none"
android:fastScrollEnabled="false"
android:footerDividersEnabled="false"
android:headerDividersEnabled="false"
android:numColumns="3"
android:smoothScrollbar="true"
ptr:ptrMode="both" >
</com.handmark.pulltorefresh.library.PullToRefreshGridView>
in.putExtra("id", item.get(arg2).getId());
PullToRefreshGridView刷新加载2的更多相关文章
- PullToRefreshGridView刷新加载
<com.handmark.pulltorefresh.library.PullToRefreshGridView xmlns:ptr="http://schemas.a ...
- 分页插件思想:pc加载更多功能和移动端下拉刷新加载数据
感觉一个人玩lol也没意思了,玩会手机,看到这个下拉刷新功能就写了这个demo! 这个demo写的比较随意,咱不能当做插件使用,基本思想是没问题的,要用就自己封装吧! 直接上代码分析下吧! 布局: & ...
- ListView 刷新加载控件
1.MaterialRefreshLayout刷新加载: 导入依赖: compile 'com.cjj.materialrefeshlayout:library:1.3.0' 布局 <com.c ...
- jQuery Pjax – 页面无刷新加载,优化用户体验
pjax 是 HTML5 pushState 以及 Ajax 两项技术的简称,综合这两个技术可以实现在不刷新页面的情况下载入 HTML 到当前网页,带给你超快速的浏览器体验,而且有固定链接.标题以及后 ...
- Android UI--自定义ListView(实现下拉刷新+加载更多)
Android UI--自定义ListView(实现下拉刷新+加载更多) 关于实现ListView下拉刷新和加载更多的实现,我想网上一搜就一堆.不过我就没发现比较实用的,要不就是实现起来太复杂,要不就 ...
- 移动端tab滑动和上下拉刷新加载
移动端tab滑动和上下拉刷新加载 查看demo(请在移动端模式下查看) 查看代码 开发该插件的初衷是,在做一个项目时发现现在实现移动端tab滑动的插件大多基于swiper,swiper的功能太强大而我 ...
- android 在自定义的listview(有刷新加载项)列表中,数据过少时不能铺满整个屏幕时,header和footer同时显示问题
android 在自定义的listview(有刷新加载项)列表中,数据过少时,当刷新时,加载项也会显示,这是很头疼的一个问题,查阅了一些资料,总结了一个比较不错的方法: 原来代码: @Overrid ...
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
js中对arry数组的各种操作小结 最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...
- emlog通过pjax实现无刷新加载网页--完美解决cnzz统计和javascript失效问题
想要更详细了解pjax,需要查看官网 或者看本站文章:jQuery.pjax.js:使用AJAX和pushState无刷新加载网页(官网教程中文翻译) 效果看本站,音乐无刷新播放,代码高亮和复制js加 ...
随机推荐
- Java冒泡随笔
package homework; import java.util.Scanner; public class ArraySort { /** * @param args */ public sta ...
- Python的入门要点
一.输入 1.键盘输入 在python 2.7中,不用input(),而用 raw_input()读入一行键盘输入,并转化为字符串. s = map(int ,raw_input().split()) ...
- 前端开发week1
1.前端开发前期相关工具 photoshop:主要学习运用与前端相关工具,了解UI与前端的关联. axure:原型设计,通过设计原型了解网页基本结构,结合ps对UI有更好的理解. webs ...
- c/c++常用网址
个人主页Dennis Ritchie's home pagehttp://cm.bell-labs.com/cm/cs/who/dmr/index.html Brian Kernighan's hom ...
- Bootstrap v4.0.0-alpha.5 发布,大量更新
Bootstrap v4.0.0-alpha.5 发布了,Bootstrap是快速开发Web应用程序的前端工具包.它是一个CSS和HTML的集合,它使用了最新的浏览器技术,给你的Web开发提供了时尚的 ...
- class can not be find with platformType:1 step 1
使用第三方库的时候 (配合cocopods)混合使用一定要注意 为什么会出现这样的问题... 苦苦难为我半天时间 都有想打人的冲动 前天一切正常今天出来个这 原因很简单当使用cocopods的时候默认 ...
- __autoload的小tip
__autoload魔法函数不仅在如 $a=new testClass();时可以触发.在 class a extends b时 如果b类的定义在当前页未找到,也可以触发这个函数
- 370. Range Addition
Assume you have an array of length n initialized with all 0's and are given k update operations. Eac ...
- 安卓--Toast
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWind ...
- 购物车数字加减按钮HTML+CSS+JS(有需要嫌麻烦的小伙伴拿走不谢)
之前在写详情页的时候,如下图 因为自己嫌麻烦,就去看其他网站是怎么写的,想直接拿来用,后来看来看去觉得写得很麻烦,于是最后还是决定自己写,附上HTML+CSS+JS代码,一条龙一站式贴心服务2333 ...