@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的更多相关文章

  1. PullToRefreshGridView刷新加载

    <com.handmark.pulltorefresh.library.PullToRefreshGridView        xmlns:ptr="http://schemas.a ...

  2. 分页插件思想:pc加载更多功能和移动端下拉刷新加载数据

    感觉一个人玩lol也没意思了,玩会手机,看到这个下拉刷新功能就写了这个demo! 这个demo写的比较随意,咱不能当做插件使用,基本思想是没问题的,要用就自己封装吧! 直接上代码分析下吧! 布局: & ...

  3. ListView 刷新加载控件

    1.MaterialRefreshLayout刷新加载: 导入依赖: compile 'com.cjj.materialrefeshlayout:library:1.3.0' 布局 <com.c ...

  4. jQuery Pjax – 页面无刷新加载,优化用户体验

    pjax 是 HTML5 pushState 以及 Ajax 两项技术的简称,综合这两个技术可以实现在不刷新页面的情况下载入 HTML 到当前网页,带给你超快速的浏览器体验,而且有固定链接.标题以及后 ...

  5. Android UI--自定义ListView(实现下拉刷新+加载更多)

    Android UI--自定义ListView(实现下拉刷新+加载更多) 关于实现ListView下拉刷新和加载更多的实现,我想网上一搜就一堆.不过我就没发现比较实用的,要不就是实现起来太复杂,要不就 ...

  6. 移动端tab滑动和上下拉刷新加载

    移动端tab滑动和上下拉刷新加载 查看demo(请在移动端模式下查看) 查看代码 开发该插件的初衷是,在做一个项目时发现现在实现移动端tab滑动的插件大多基于swiper,swiper的功能太强大而我 ...

  7. android 在自定义的listview(有刷新加载项)列表中,数据过少时不能铺满整个屏幕时,header和footer同时显示问题

    android  在自定义的listview(有刷新加载项)列表中,数据过少时,当刷新时,加载项也会显示,这是很头疼的一个问题,查阅了一些资料,总结了一个比较不错的方法: 原来代码: @Overrid ...

  8. js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符

    js中对arry数组的各种操作小结   最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...

  9. emlog通过pjax实现无刷新加载网页--完美解决cnzz统计和javascript失效问题

    想要更详细了解pjax,需要查看官网 或者看本站文章:jQuery.pjax.js:使用AJAX和pushState无刷新加载网页(官网教程中文翻译) 效果看本站,音乐无刷新播放,代码高亮和复制js加 ...

随机推荐

  1. android开发中的问题集锦(慢慢搬运...)

    1, android 设置ExpandableListView 系统默认箭头到右边 if(android.os.Build.VERSION.SDK_INT < android.os.Build. ...

  2. CSS兼容问题实用建议

    CSS兼容问题,是美工最头痛的问题.做测试时,用谷哥和360浏览器(最新)都没有什么问题,用 IE6/IE8测试,问题就冒出来了.微软现在出IE10,我电脑上已经无法用IE6准确测试,IE-TESTE ...

  3. AVLTree 平衡树

    //测试数据//第一组:7个输入,测试LL型,40,36,44,32,38,28,24://第二组:7个输入,测试RR型,40,36,44,43,48,52,56://第三组:7个输入,测试LR型,4 ...

  4. arm嵌入式交叉编译工具链

    1.arm-linux-gcc 常用的参数:-o[制定输出文件名] -c[只到编译停止,不连接] -g[键入调试信息] -xO[优化级别] -w/W(警告等级) arm-linux-gcc -o de ...

  5. 用Javascript动态添加删除HTML元素实例 (转载)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Multivariance Linear Regression练习

    %% 方法一:梯度下降法 x = load('E:\workstation\data\ex3x.dat'); y = load('E:\workstation\data\ex3y.dat'); x = ...

  7. VS2010里, using System.Data.OracleClient; 不可用

    当我试图去引用System.Data.OracleClient 这个命名空间时,VS 显示不存在 但是在对象浏览器里却可以找到这个命名空间及里边的对象 另外好像也没有区分清楚 using 和Refer ...

  8. selenium问题记录

    错误一: 错误信息:Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output: 原 ...

  9. git pull错误

    1. Pull is not possible because you have unmerged files. 症状:pull的时候 $ git pull Pull is not possible ...

  10. C#和Java在重写上的区别

    C# class A { public string Get1() { return "A1"; } public virtual string Get2() { return & ...