美文网首页
Scrollview+gridview替代方案

Scrollview+gridview替代方案

作者: 程序猿的小生活 | 来源:发表于2021-10-11 15:23 被阅读0次

1.布局文件

 <android.support.v4.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        <android.support.v7.widget.RecyclerView
            android:id="@+id/gv"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:numColumns="3"
            android:paddingLeft="15dp"
            android:paddingRight="15dp" />
        </LinearLayout>
        </android.support.v4.widget.NestedScrollView>

2.activity代码

         gv = findViewById(R.id.gv);
         gv.setNestedScrollingEnabled(false);
         GridLayoutManager layoutManage = new 
         GridLayoutManager(wylzgzryactivity.this, 3);//3代表一行3列
         gv.setLayoutManager(layoutManage);
         Adapter adapter = new Adapter(this,hysyyMenuBeanList);//点击事件
        gv.setAdapter(adapter);
        adapter.notifyDataSetChanged();
        adapter.setOnItemClickListener(new Adapter.OnItemClickListener() {
            @Override
            public void setOnclickItem(View view, int position) {
     }
            }
        });

3.adapter 代码

public class Adapter extends RecyclerView.Adapter<Adapter.ViewHolder> {
    Context mcontext;
    List<hysyyMenuBean> pllist;
    private int num, service;
    private OnItemClickListener onItemOnclick;;
    public OldWYLVZHIAdapter(Context context, List<hysyyMenuBean> pllist) {
            this.mcontext = context;
            this.pllist = pllist;

    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
       View view = View.inflate(mcontext, R.layout.item_hysyymenu, null);
       ViewHolder holder = new ViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder,int position) {
        hysyyMenuBean hysyyMenuBean = pllist.get(position);

        holder.name.setText(hysyyMenuBean.getName());
        String code = hysyyMenuBean.getCode();
  holder.all.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (onItemOnclick!=null){
                    onItemOnclick.setOnclickItem(view,holder.getAdapterPosition());
                }
            }
        });
    }

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


    static class ViewHolder extends RecyclerView.ViewHolder{
        TextView name;
        TextView shenhesum_view;
        RelativeLayout all;
        public ViewHolder (View rootView)
        {
            super(rootView);
            name = rootView.findViewById(R.id.name);
            shenhesum_view = rootView.findViewById(R.id.shenhesum_view);
            all = rootView.findViewById(R.id.all);
        }

    }

    public  interface OnItemClickListener{
        void setOnclickItem(View view, int position);
    }
    public void setOnItemClickListener(OnItemClickListener onItemOnclick) {
        this.onItemOnclick = onItemOnclick;
    }

4.item_hysyymenu布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:id="@+id/all"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
   >

        <TextView
            android:drawablePadding="3dp"
            android:layout_marginTop="35dp"
            android:id="@+id/name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_gravity="center"
            android:drawableTop="@drawable/hysyy_yysh1"
            android:gravity="center_horizontal"
            android:src="@drawable/nodata"
            android:textColor="#000"
            android:textSize="14sp" />

    <TextView
        android:layout_marginTop="35dp"
        android:id="@+id/shenhesum_view"
        android:layout_width="23.5dp"
        android:layout_height="21dp"
        android:layout_alignParentEnd="true"
        android:layout_marginEnd="17dp"
        android:layout_alignParentTop="true"
        android:background="@drawable/jb"
        android:gravity="center"
        android:text="0"
        android:textColor="@color/color_white"
        android:textSize="10sp" />
</RelativeLayout>

相关文章

  • Scrollview+gridview替代方案

    1.布局文件 2.activity代码 3.adapter 代码 4.item_hysyymenu布局

  • 写给30的日记

    没有完美的替代方案,如果是替代方案的话尽量不要花钱

  • 替代方案

    以前我做研发经理的时候,我对下面的工程师往往会提出一个要求。就是你做了你的方案,你必须告诉我,你的方案b,甚至是方...

  • 替代方案

    1、专门系统   2790测试系统是一个专门针对性的组合系统。  这些高电压、多通道电阻测量解决方案可加快并简化安...

  • Convert Gif To Video?

    GIF替代方案 维基百科的解释Video alternative to GIF已经提出来的替代gif的方案中,通常...

  • Android:startActivityForResult替换

    1、startActivityForResult 替代方案: startActivityForResult() 方...

  • 2017-12-06

    评价替代方案、制定并执行行动计划 1)评价替代方案 一旦决定采取某种解决方案,就难以撤回,错误的解决方案只会加剧问...

  • findViewById替代方案

    databinding:能够替代findViewById,但是databinding的设计是为了view和数据的双...

  • angular中路由的应用

    动态路由替代方案 网页搜索(翻墙)没有找到关于ng2的动态路由的资料,尝试通过替代方案解决html代码: dire...

  • 跟熊浩学沟通.打卡第8天

    15替代方案 所谓替代方案,是那些在谈判无法达成的时候,靠你单方的力量,而无需对方配合的Plan B。 1.底线思...

网友评论

      本文标题:Scrollview+gridview替代方案

      本文链接:https://www.haomeiwen.com/subject/lciloltx.html