1. 程式人生 > >線性和網格佈局的裝換

線性和網格佈局的裝換

網格和線性佈局的配置MainActivity



haun.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                haun.setVisibility(View.GONE);
                ha.setVisibility(View.VISIBLE);
                recycler_view.setLayoutManager(new LinearLayoutManager(MainActivity.this));
                MyAdapter myAdapter1 = new MyAdapter(MainActivity.this, data, 1);
                recycler_view.setAdapter(myAdapter1);
            }
        });
        ha.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                haun.setVisibility(View.VISIBLE);
                ha.setVisibility(View.GONE);
                recycler_view.setLayoutManager(new GridLayoutManager(MainActivity.this,2));
                MyAdapter myAdapter1 = new MyAdapter(MainActivity.this, data, 2);
                recycler_view.setAdapter(myAdapter1);
            }
        });
 

adapter中載入佈局的判斷





private int i;

    public MyAdapter(Context context, List<NewBean.ResultBean.NearbyCinemaListBean> list, int i) {
        this.context = context;
        this.list = list;
        this.i=i;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        if (i==1){
            LayoutInflater from = LayoutInflater.from(context);
            View view = from.inflate(R.layout.item_layout, parent, false);
            return new ViewHolder(view);
        }else{
            LayoutInflater from = LayoutInflater.from(context);
            View view = from.inflate(R.layout.item_two_layout, parent, false);
            return new ViewHolder(view);
        }

    }