package com.android.pc.ioc.a.demo; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.TextView; import com.android.pc.ioc.app.Ioc; import com.android.pc.ioc.inject.InjectBinder; import com.android.pc.ioc.inject.InjectHttp; import com.android.pc.ioc.inject.InjectInit; import com.android.pc.ioc.inject.InjectPullRefresh; import com.android.pc.ioc.inject.InjectView; import com.android.pc.ioc.internet.FastHttpHander; import com.android.pc.ioc.internet.ResponseEntity; import com.android.pc.ioc.view.PullToRefreshManager; import com.android.pc.ioc.view.listener.OnClick; import com.android.pc.util.Handler_Inject; import com.wash.activity.R; /** * <h1>切记:</h1> * assets中必须放两张图片,一张up,一张down<br> * ************************************<br> * 自动注入下拉刷新 上拉加载更多<br> * 很清晰的一个类<br> * 你需要做的只有两个:<br> * 一个是你的adapter<br> * 一个就是获取网络数据 * @author gdpancheng@gmail.com 2014-1-22 下午10:37:26 */ public class TenthFragment extends BaseFragment { //pull上拉加载更多,down下拉刷新,默认false,默认关闭 @InjectView(pull = true,down = true) ListView list; @InjectView(binders = @InjectBinder(method = "click", listeners = { OnClick.class })) TextView emtpy; DataAdapter dataAdapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.test_listview, container, false); Handler_Inject.injectFragment(this, rootView); return rootView; } @InjectInit private void init(){ //这里是设置里面的文字 可以不设置 默认有 PullToRefreshManager.getInstance().setRelease_label("松开后刷新"); dataAdapter = new DataAdapter(activity); list.setAdapter(dataAdapter); list.setEmptyView(emtpy); } /** * 方法名随意,但是确保参数要有int类型的,用来区分下拉和上拉 * @author gdpancheng@gmail.com 2014-3-12 上午9:35:15 * @param type * @return void */ @InjectPullRefresh private void call(int type){ //这里的type来判断是否是下拉还是上拉 switch (type) { case InjectView.PULL: FastHttpHander.ajaxGet("http://211.152.52.119:8080/app/api.php?act=category",this); break; case InjectView.DOWN: FastHttpHander.ajaxGet("http://211.152.52.119:8080/app/api.php?act=category",this); break; } } private void click(View v){ dataAdapter.setCount(); dataAdapter.notifyDataSetChanged(); } @InjectHttp private void result(ResponseEntity entity){ Ioc.getIoc().getLogger().s(entity.getContentAsString()); //完成 加载更多 PullToRefreshManager.getInstance().onFooterRefreshComplete(); //完成 刷新 PullToRefreshManager.getInstance().onHeaderRefreshComplete(); //关闭顶部的下拉 PullToRefreshManager.getInstance().headerUnable(); //打开顶部的下拉 PullToRefreshManager.getInstance().headerEnable(); //关闭底部的加载 PullToRefreshManager.getInstance().footerUnable(); //打开顶部的加载 PullToRefreshManager.getInstance().footerEnable(); } }