这个是XRecyclerView的多条目展示

XRecyclerView的多条目展示依赖:

1 implementation ‘com.android.support:design:28.+’
2 implementation ‘com.google.code.gson:gson:2.8.5’
3 implementation ‘com.github.bumptech.glide:glide:4.8.0’
4 implementation ‘com.squareup.okhttp3:okhttp:3.12.0’
5 implementation(‘com.jcodecraeer:xrecyclerview:1.5.9’) {
exclude group: ‘com.android.support’
}
6 implementation ‘com.squareup.okhttp3:logging-interceptor:3.4.1’

下面是activity-two布局 <com.jcodecraeer.xrecyclerview.XRecyclerView

    android:id="@+id/xrecy"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

这个是垂直显示的布局加上(x号用于删除)入这个图所视

<?xml version="1.0" encoding="utf-8"?>


<TextView
    android:id="@+id/del"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/text1"
    android:layout_alignParentRight="true"
    android:layout_gravity="center"
    android:layout_marginTop="-9dp"
    android:layout_marginRight="7dp"
    android:text="X"
    android:textColor="#000"
    android:textSize="25dp" />

MVP就不写了,就是记得穿int i就行,下面就写下MyAdapter的页面:public class MyAdapter extends XRecyclerView.Adapter {

private List<MyData.DataBean> list;
private Context context;
private final int ONE_ITEM=1;
private final int TWO_ITEM=2;

public MyAdapter(List<MyData.DataBean> list, Context context) {
    this.list = list;
    this.context = context;
}


@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    View view=null;
    XRecyclerView.ViewHolder holder=null;
    switch (i){
        case ONE_ITEM:垂直展示的布局
            view = View.inflate(viewGroup.getContext(), R.layout.chiuzhi, null);
            holder=new OneHolder(view);
            break;
        case TWO_ITEM:水平展示的布局
            view=View.inflate(viewGroup.getContext(),R.layout.pingxing,null);
            holder=new TwoHolder(view);
            break;
    }
    return holder;
}

@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
    MyData.DataBean dataBean = list.get(i);
    if (viewHolder instanceof OneHolder){//这个是条目和图片垂直展示的
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190119204919931.png)
        ((OneHolder)viewHolder).text11.setText(dataBean.getTitle());
        Glide.with(context).load(dataBean.getThumbnail_pic_s()).into(((OneHolder)viewHolder).imagr11);
        Glide.with(context).load(dataBean.getThumbnail_pic_s02()).into(((OneHolder)viewHolder).imagr11);
        Glide.with(context).load(dataBean.getThumbnail_pic_s03()).into(((OneHolder)viewHolder).imagr11);

    }else {

在这里插入图片描述
//这个是条目和图片平行展示的数据
例如这种
((TwoHolder)viewHolder).text1.setText(dataBean.getTitle());
Glide.with(context).load(dataBean.getThumbnail_pic_s()).into(((TwoHolder) viewHolder).imagr1);
//点击button按钮弹出对话框删除和取消并刷新
删除的对话框
((TwoHolder) viewHolder).delp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder dialog=new AlertDialog.Builder(context);
//获取AlertDialog对象
dialog.setTitle(“不再关注”);//设置标题
dialog.setMessage(“是定取消关注此类新闻?”);//设置信息具体内容
dialog.setCancelable(false);//设置是否可取消
dialog.setPositiveButton(“确定”, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
list.remove(i);
Toast.makeText(context, “您删除了第”+i+“条数据”, Toast.LENGTH_SHORT).show();
notifyDataSetChanged();
}
});
dialog.setNegativeButton(“取消”, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, “您取消啦”, Toast.LENGTH_SHORT).show();
notifyDataSetChanged();
}
});
dialog.show();
notifyDataSetChanged();
}
});
}
}

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

//这是判断哪个条目展示
@Override
public int getItemViewType(int position) {
if (position%2==0){
return ONE_ITEM;
}else {
return TWO_ITEM;
}
}
//第一个条目展示:手敲
class OneHolder extends XRecyclerView.ViewHolder{
TextView text11;
ImageView imagr11,imagr12,imagr13;
public OneHolder(@NonNull View itemView) {
super(itemView);
text11=itemView.findViewById(R.id.text11);
imagr11=itemView.findViewById(R.id.imagr11);
imagr12=itemView.findViewById(R.id.imagr12);
imagr13=itemView.findViewById(R.id.imagr13);
}
}
//第二个条目展示
class TwoHolder extends XRecyclerView.ViewHolder{
TextView text1;
ImageView imagr1;
Button delp
public TwoHolder(@NonNull View itemView) {
super(itemView);
text1=itemView.findViewById(R.id.text1);
imagr1=itemView.findViewById(R.id.imagr1);
这个是删除的按钮最好使用button
delp = itemView.findViewById(R.id.delp);
}
}
}

//下面是Mainactivity的页面
在这里插入图片描述
public class TwoActivity extends AppCompatActivity implements IView {

private XRecyclerView xrecy;
private PersenerImpl persener;
private ArrayList<MyData.DataBean> list=new ArrayList<>();
private String url="http://www.xieast.com/api/news/news.php?page=1";
private MyAdapter adapter;

主要是这个记得写 private int i=1;

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

private void initData() {
    persener = new PersenerImpl(this);
    persener.setRequest(url,i);
    adapter = new MyAdapter(list,this);
    xrecy.setAdapter(adapter);
}

private void initView() {
    xrecy = (XRecyclerView) findViewById(R.id.xrecy);
}

@Override
public void setData(MyData data) {
    list.addAll(data.getData());
    LinearLayoutManager manager=new LinearLayoutManager(this);
    xrecy.setLayoutManager(manager);
    adapter.notifyDataSetChanged();
    xrecy.setLoadingListener(new XRecyclerView.LoadingListener() {
        @Override
        public void onRefresh() {
            list.clear();
             i=1;
             persener.setRequest(url,i);
             xrecy.refreshComplete();

        }

        @Override
        public void onLoadMore() {
            i++;
            persener.setRequest(url,i);
            xrecy.refreshComplete();
        }
    });
}

@Override
public void setError(String error) {

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与国已互相成为双方最大的交易伙伴。国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占国外贸总值的15.4%。在过去20余年,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值