RecyclerView 条目点击事件 XRecyclerView刷新加载

本文介绍了一种在Android应用中实现点击事件和刷新加载的方法。通过定义接口和监听器来处理列表项的点击和长按操作,并展示了如何启用刷新加载功能及监听其状态变化。

点击事件

private OnItemClickListener mOnItemClickListener;
private OnItemLongClickListener mOnItemLongClickListener;

public void setmOnItemClickListener(OnItemClickListener mOnItemClickListener) {
    this.mOnItemClickListener = mOnItemClickListener;
}

public void setmOnItemLongClickListener(OnItemLongClickListener mOnItemLongClickListener) {
    this.mOnItemLongClickListener = mOnItemLongClickListener;
}

public interface OnItemClickListener{
    void onItemClick(View view,int position);
}
if (mOnItemClickListener!=null){
    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            int position= holder.getLayoutPosition();
           // holder.itemView.setFocusable(true);
            mOnItemClickListener.onItemClick(holder.itemView,position);
        }
    });
}
if (mOnItemLongClickListener!=null){
    holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View view) {
            int position= holder.getLayoutPosition();
            mOnItemLongClickListener.onItemLongClick(holder.itemView,position);
            return true;
        }
    });
}
Activity中使用
adapter.setmOnItemClickListener(new Adapter.OnItemClickListener() {
    @Override
    public void onItemClick(View view, int position) {
        Intent intent= new Intent(ShoopActivity.this,XinangqingActivity.class);
        startActivity(intent);
    }
});
刷新加载
//设置可上拉
xrecyclerview.setPullRefreshEnabled(true);
xrecyclerview.setLoadingMoreEnabled(true);
//设置上拉下拉样式
xrecyclerview.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader);
xrecyclerview.setLoadingMoreProgressStyle(ProgressStyle.BallClipRotate);
//设置下拉加载上拉刷新监听
xrecyclerview.setLoadingListener(new XRecyclerView.LoadingListener() {
    @Override
    public void onRefresh() {
        i=1;
        flog =true;
        list.clear();
        loaddata(i);

    }

    @Override
    public void onLoadMore() {
        i++;
        flog=false;
        loaddata(i);
    }
});
@Override
public void onSuccess(List<ListBean> lis) {
    if (flog){
        xrecyclerview.refreshComplete();
    }else {
        xrecyclerview.loadMoreComplete();
    }
跳转传参
String str = edidtext.getText().toString().trim();
//搜索关键字
if(str.trim().equals("手机")||str.trim().equals("笔记本")) {
    Intent intent = new Intent(MainActivity.this,ShoopActivity.class);
    intent.putExtra("key",str);
    startActivity(intent);
public void loaddata(int i){
    Intent intent = getIntent();
    String key = intent.getStringExtra("key");
    edidtext.setText(key);
    presenter = new Presenter(ShoopActivity.this, ShoopActivity.this);
    presenter.get(key, i);
}
public void get(String str,int i){
    Map map = new HashMap<String,String>();
    map.put("keywords",str+"");
    map.put("page",i+"");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值