main

本文介绍了一个名为Fragment1Activity的类,该类继承自Fragment,并详细展示了其onCreateView方法的具体实现,包括视图初始化、数据获取、点击事件及XListView的操作。


public class Fragment1Activity extends Fragment {
    String url = "http://www.oschina.net/action/api/tweet_list?uid=0&pageIndex=0&pageSize=15";
    private View view;
    private XListView lv;
    private List<Tweet> list;
    private MyBaseAdapter adapter;
    private int index=15;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.activity_fragment1, container, false);
        //初始化数据
        initView();
        //xutils解析和数据
        getData();
        //XListView点击事件
        initOnclick();
        //xlistview的事件
        initX();
        return view;
    }

    private void initOnclick() {
        // TODO Auto-generated method stub
        lv.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                // TODO Auto-generated method stub
                Intent intent=new Intent(getActivity(),Position1Activity.class);
                intent.putExtra("info", list.get(arg2-1));
                startActivity(intent);
            }
            
            
        });
    }

    private void initX() {
        // TODO Auto-generated method stub
        // 支持上拉刷新
        lv.setPullLoadEnable(true);
        // 支持下拉加载
        lv.setPullRefreshEnable(true);
        lv.setXListViewListener(new IXListViewListener() {
            
            @Override
            public void onRefresh() {
                // TODO Auto-generated method stub
                getData();
                onLoad();//设置时间
            }
            //覆写加载方法
            @Override
            public void onLoadMore() {
                // TODO Auto-generated method stub
                getDataflush();
                onLoad();//设置时间
            }

            private void onLoad() {
                lv.stopRefresh();
                lv.stopLoadMore();
                // 设置日期格式
                SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");
                // 获取当前系统时间
                String nowTime = df.format(new Date(System.currentTimeMillis()));
                // 释放时提示正在刷新时的当前时间
                lv.setRefreshTime(nowTime);
            }
        });
    }

    
    private void stop() {
        lv.stopLoadMore();
        lv.stopRefresh();
    }
    private void getData() {
        // TODO Auto-generated method stub
        HttpUtils httpUtils = new HttpUtils();
        httpUtils.configCurrentHttpCacheExpiry(0);
        httpUtils.send(HttpMethod.GET, url, new RequestCallBack<String>() {

            @Override
            public void onFailure(HttpException arg0, String arg1) {
                // TODO Auto-generated method stub
                System.out.println("联网请求数据失败");
            }

            @Override
            public void onSuccess(ResponseInfo<String> arg0) {
                // TODO Auto-generated method stub
                String result = arg0.result;
                XStream stream = new XStream();
                stream.processAnnotations(Bean.class);
                Bean bean = (Bean) stream.fromXML(result);
                list = bean.tweets.tweet;
                getActivity().runOnUiThread(new Runnable() {

                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
                        adapter = new MyBaseAdapter(getActivity(), list);
                        lv.setAdapter(adapter);
                    }
                });
            }
        });
    }
    private void getDataflush() {
        // TODO Auto-generated method stub
        index = index + 5;//分页加载
        HttpUtils utils = new HttpUtils();
        utils.send(HttpMethod.GET, url + index, new RequestCallBack<String>() {
            @Override
            public void onFailure(HttpException arg0, String arg1) {
            }

            @Override
            public void onSuccess(ResponseInfo<String> arg0) {
                // TODO Auto-generated method stub
                String result = arg0.result;
                XStream stream = new XStream();//解析数据
                stream.processAnnotations(Bean.class);
                Bean bean = (Bean) stream.fromXML(result);
                List<Tweet> tweet = bean.tweets.tweet;
                list.addAll(tweet);
                getActivity().runOnUiThread(new Runnable() {
                    public void run() {
                        adapter.notifyDataSetChanged();//通知适配器改变
                    }
                });
            }
        });
    }
    private void initView() {
        lv = (XListView) view.findViewById(R.id.lv);
    }

}

转载于:https://www.cnblogs.com/btcd/p/5718131.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值