XListView的简单示例

public class MainActivity extends Activity implements IXListViewListener {
    String path = "";
    // 上拉刷新接口
    String refresh = "";
    // 下来加载接口
    String more = "";

    List<Bean> dataList= new ArrayList<>();
    
    Handler handler = new Handler() {
        public void handleMessage(android.os.Message msg) {
            String json = (String) msg.obj;

            int i = msg.arg1;

            Gson gson = new Gson();

            DataBean dataBean = gson.fromJson(json, DataBean.class);

            // 刷新
            if (i == 0) {
                dataList.clear();
                dataList.addAll(dataBean.data);
                
                
                myBaseAdapter.notifyDataSetChanged();
                stopXListView();
                // 加载更多
            } else if (i == 1) {

                dataList.addAll(dataBean.data);
                
                myBaseAdapter.notifyDataSetChanged();
                stopXListView();
            }

        
        };
    };
    private XListView xListView;

    private MyBaseAdapter myBaseAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        xListView = (XListView) findViewById(R.id.xListView);
        xListView.setPullLoadEnable(true);
        
        xListView.setXListViewListener(this);
        getData(1);
        
        myBaseAdapter = new MyBaseAdapter(MainActivity.this, dataList);
        xListView.setAdapter(myBaseAdapter);
        
        xListView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                startActivity(new Intent(MainActivity.this,
                        WebViewActivity.class).putExtra("path",
                        dataList.get(position-1).share_url));
            }
        });

    }
/**
 *
 * @param i 区分是刷新,还是加载更多
 */
    private void getData(final int i) {
        HttpUtils httpUtils = new HttpUtils();
        // httputils默认60刷新,否则用缓存
        httpUtils.configCurrentHttpCacheExpiry(0);
        
        if(i==0){
            path=refresh;
            
        }else if(i==1){
            
            path=refresh;
            
        }
        
        httpUtils.send(HttpMethod.GET, path, new RequestCallBack<String>() {

            @Override
            public void onFailure(HttpException arg0, String arg1) {

            }

            @Override
            public void onSuccess(ResponseInfo<String> arg0) {

                String result = arg0.result;
                Message msg = Message.obtain();
                msg.obj = result;
                msg.arg1=i;
                handler.sendMessage(msg);
            }
        });

    }

    @Override//刷新
    public void onRefresh() {

        getData(0);
        
    }

    @Override//加载更多
    public void onLoadMore() {
        getData(1);
        

        
    }
    public void stopXListView(){
        xListView.stopLoadMore();
        xListView.stopRefresh();    
    }
    
    
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值