XRecyclerView 刷新加载

    
public interface IView {

    void getData(SuperClass superClass);
}
 
 
 
public class IModel implements Model {

    SuperClass superClass = new SuperClass();

    private OnFinish onFinish;

    public interface OnFinish{

        void onFinishListener(SuperClass superClass);
    }

    public void setOnFinish(OnFinish onFinish) {

        this.onFinish = onFinish;
    }


    @Override
    public void getUrl(String url, Map<String,String> mmap) {
        OkHttp3Utils.doPost(url, mmap, new GsonObjectCallback<SuperClass>() {
            @Override
            public void onUi(SuperClass superClass) {
                Log.d("myMain","==="+superClass.getMsg());
                onFinish.onFinishListener(superClass);
            }

            @Override
            public void onFailed(Call call, IOException e) {

            }
        });
    }
}
 
 
  
public interface Model {

    void getUrl(String url, Map<String,String > mapp);


}
  
public class press implements IModel.OnFinish {

    private final IView userview;
    private final IModel userModel;

    public press(IView userview) {
        this.userview = userview;
        this.userModel = new IModel();
        userModel.setOnFinish(this);
    }

    public void getUrl(String url, Map<String,String> mmap){
        userModel.getUrl(url,mmap);
    }

    @Override
    public void onFinishListener(SuperClass superClass) {

        userview.getData(superClass);
    }
}
  
   //适配器、
 
  
  
public class MaDapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

    Context context;
    SuperClass superClass;

    public MaDapter(Context context, SuperClass superClass) {
        this.context = context;
        this.superClass = superClass;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View view = View.inflate(context, R.layout.item, null);
        MyRecyclerViewHolder viewHolder = new MyRecyclerViewHolder(view);
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        String[] split = superClass.getData().get(position).getIcon().split("\\|");
        ImageLoader.getInstance().displayImage(split[0],((MyRecyclerViewHolder)holder).head);
        ((MyRecyclerViewHolder)holder).title.setText(superClass.getData().get(position).getName());
    }

    @Override
    public int getItemCount() {
        return superClass.getData().size();
    }

    class MyRecyclerViewHolder extends RecyclerView.ViewHolder{
        ImageView head;
        TextView title;
        public MyRecyclerViewHolder(View itemView) {
            super(itemView);
            head = itemView.findViewById(R.id.head);
            title = itemView.findViewById(R.id.title);
        }
    }
}
 
 
 //Main方法实现下拉加载   下拉刷新
 
      
public class MainActivity extends AppCompatActivity implements IView {

    private XRecyclerView mRecal;
    private press press;

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

    private void initView() {

        mRecal = (XRecyclerView) findViewById(R.id.recal);

       mRecal.setLayoutManager(new LinearLayoutManager(this));

        //mRecal.setLayoutManager(new GridLayoutManager(this,4));
        press = new press(this);

        Map<String,String> mmap = new HashMap<>();


        press.getUrl(API.HOST,mmap);
        //加载刷新
        mRecal.setPullRefreshEnabled(true);
        mRecal.setLoadingMoreEnabled(true);
        mRecal.setLoadingListener(new XRecyclerView.LoadingListener() {
            @Override
            public void onRefresh() {
                Toast.makeText(MainActivity.this, "刷新", Toast.LENGTH_SHORT).show();
                mRecal.refreshComplete();
            }

            @Override
            public void onLoadMore() {
                Toast.makeText(MainActivity.this, "加载更多", Toast.LENGTH_SHORT).show();
                mRecal.loadMoreComplete();
            }
        });


    }

    @Override
    public void getData(SuperClass superClass) {


        MaDapter maDapter = new MaDapter(MainActivity.this, superClass);
        mRecal.setAdapter(maDapter);

    }
}
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值