频道管理

来源:互联网 发布:js 截取数组 编辑:程序博客网 时间:2024/04/29 01:40

本篇文章只可以实现简单的点击“编辑”-- 后“我的频道”里面的内容可以删掉回到下面“其他频道里面”,,点击“其他频道”里的内容可以到上面的“我的频道”里。


首先需要几个类,分别是:Mainactivity类、Myadapter类、Myadapter2类、SpacesItemDecoration类、

itemBean类Mainview类(是一个接口)


Mainactivity类

public class MainActivity extends AppCompatActivity implements View.OnClickListener,MainView {    private TextView text3_act;    private LinearLayout lin;    private RecyclerView recy1;    private RecyclerView recy2;    private ArrayList<ItemBean> myarr;    private ArrayList<ItemBean> himarr;    private int screenWidth;    private MyAdapter myAdapter1;    private MyAdapter2 myAdapter2;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //去标题        getSupportActionBar().hide();        //2for循环        initFor();        //各种控件id        initView();        //下面的数据for盼盼        initDataOne();        //下面的数据for        initDataTwo();    }    private void initFor() {        myarr = new ArrayList<>();        for (int i = 0; i < 15; i++) {            myarr.add(new ItemBean("me的频道"+i,false));        }        himarr = new ArrayList<>();        for (int i = 0; i < 15; i++) {            himarr.add(new ItemBean("he频道"+i,false));        }    }    private void initDataOne() {        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);        recy1.setLayoutManager(gridLayoutManager);        myAdapter1 = new MyAdapter(MainActivity.this);        myAdapter1.setData(myarr);        myAdapter1.setOnclickListener(this);        recy1.setAdapter(myAdapter1);        //设置recycleview之间的间距        int spacingInPixels = 30;        recy1.addItemDecoration(new SpacesItemDecoration(spacingInPixels));        recy1.setAdapter(myAdapter1);    }    private void initDataTwo() {        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);        recy2.setLayoutManager(gridLayoutManager);        myAdapter2 = new MyAdapter2(MainActivity.this);        this.myAdapter2.setData(himarr);        this.myAdapter2.setOnclickListener(this);        recy2.setAdapter(this.myAdapter2);        //设置recycleview之间的间距        int spacingInPixels = 30;        recy2.addItemDecoration(new SpacesItemDecoration(spacingInPixels));        recy2.setAdapter(this.myAdapter2);    }    //各种控件    private void initView() {        text3_act = (TextView) findViewById(R.id.text3_act);        recy1 = (RecyclerView) findViewById(R.id.recy1);        recy2 = (RecyclerView) findViewById(R.id.recy2);        text3_act.setOnClickListener(this);    }    //“编辑的点击    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.text3_act:                CharSequence text = text3_act.getText();                if (text.equals("编辑")) {                    text3_act.setText("完成");                    myAdapter1.setIsShow(true);                    myAdapter1.notifyDataSetChanged();                } else if (text.equals("完成")) {                    text3_act.setText("编辑");                    myAdapter1.setIsShow(false);                    myAdapter1.notifyDataSetChanged();               }               break;        }    }    @Override    public void MyItenOnclickLister(View view, int position,int type) {        switch (type){            case 1:                himarr.add(myarr.get(position));                myAdapter2.setData(himarr);                myAdapter2.notifyDataSetChanged();                myarr.remove(position);                myAdapter1.setData(myarr);                myAdapter1.notifyDataSetChanged();                break;            case 2:                myarr.add(himarr.get(position));                myAdapter1.setData(myarr);                myAdapter1.notifyDataSetChanged();                himarr.remove(position);                myAdapter2.setData(himarr);                myAdapter2.notifyDataSetChanged();//                Toast.makeText(this, ""+position, Toast.LENGTH_SHORT).show();                                break;        }    }}

Myadapter类

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyHoder> {    private Context context;    private ArrayList<ItemBean> list = new ArrayList<>();    private boolean isshow = false;    private MainView mainActivity;    public MyAdapter(Context context) {        this.context = context;    }    @Override    public MyHoder onCreateViewHolder(ViewGroup parent, int viewType) {        View inflate = View.inflate(context, R.layout.item, null);        MyHoder myHoder = new MyHoder(inflate);        return myHoder;    }    @Override    public void onBindViewHolder(MyHoder holder, final int position) {        if (isshow) {            if (position == 0 || position == 1) {                holder.delete_item.setVisibility(View.GONE);            } else {                holder.delete_item.setVisibility(View.VISIBLE);            }        } else {            holder.delete_item.setVisibility(View.GONE);        }        //点击小叉叉,删除该条目        holder.delete_item.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                //判断引用是否为空                if (mainActivity != null) {                    mainActivity.MyItenOnclickLister(v, position,1);                }            }        });        holder.text_item.setText(list.get(position).getText());    }    @Override    public int getItemCount() {        return list != null ? list.size() : 0;    }    //做标记显示小叉叉的    public void setIsShow(boolean b) {        this.isshow = b;    }    public void setOnclickListener(MainActivity mainActivity) {        this.mainActivity = mainActivity;    }    public void setData(ArrayList<ItemBean> myarr) {        list.clear();        if (myarr != null) {            list.addAll(myarr);        }    }    //MyHoder    class MyHoder extends RecyclerView.ViewHolder {        private final TextView text_item;        private final TextView delete_item;        public MyHoder(View itemView) {            super(itemView);            text_item = (TextView) itemView.findViewById(R.id.text_item);            delete_item = (TextView) itemView.findViewById(R.id.delete_item);        }    }}

Myadapter2类

public class MyAdapter2 extends RecyclerView.Adapter<MyAdapter2.MyHoder> {    private Context context;    private ArrayList<ItemBean> list = new ArrayList<>();    private boolean isshow = false;    private MainView mainActivity;    public MyAdapter2(Context context) {        this.context = context;    }    @Override    public MyHoder onCreateViewHolder(ViewGroup parent, int viewType) {        View inflate = View.inflate(context, R.layout.item, null);        MyHoder myHoder = new MyHoder(inflate);        return myHoder;    }    @Override    public void onBindViewHolder(MyHoder holder, final int position) {        if (isshow) {            if (position == 0 || position == 1) {                holder.delete_item.setVisibility(View.GONE);            } else {                holder.delete_item.setVisibility(View.VISIBLE);            }        } else {            holder.delete_item.setVisibility(View.GONE);        }        //点击小叉叉,删除该条目        holder.delete_item.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                //判断引用是否为空                if (mainActivity != null) {                    mainActivity.MyItenOnclickLister(v, position,1);                }            }        });        //长按条目,移动。(目前还没有使用)        holder.text_item.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                mainActivity.MyItenOnclickLister(v,position,2);            }        });        holder.text_item.setText(list.get(position).getText());    }    @Override    public int getItemCount() {        return list != null ? list.size() : 0;    }    //做标记显示小叉叉的    public void setIsShow(boolean b) {        this.isshow = b;    }    public void setOnclickListener(MainActivity mainActivity) {        this.mainActivity = mainActivity;    }    public void setData(ArrayList<ItemBean> myarr) {        list.clear();        if (myarr != null) {            list.addAll(myarr);        }    }    //MyHoder    class MyHoder extends RecyclerView.ViewHolder {        private final TextView text_item;        private final TextView delete_item;        public MyHoder(View itemView) {            super(itemView);            text_item = (TextView) itemView.findViewById(R.id.text_item);            delete_item = (TextView) itemView.findViewById(R.id.delete_item);        }    }}

SpacesItemDecoration类

public class SpacesItemDecoration extends RecyclerView.ItemDecoration {    private int space;    public SpacesItemDecoration(int space) {        this.space = space;    }    @Override    public void getItemOffsets(Rect outRect, View view,                               RecyclerView parent, RecyclerView.State state) {        outRect.left = space;        outRect.right = space;        outRect.bottom = space;    }}


itemBean类

public class ItemBean {    private String text;    private boolean select;    public ItemBean(String text, boolean select) {        this.text = text;        this.select = select;    }    public String getText() {        return text;    }    public void setText(String text) {        this.text = text;    }    public boolean isSelect() {        return select;    }    public void setSelect(boolean select) {        this.select = select;    }}

Mainview类(是一个接口)

public interface MainView  {    void MyItenOnclickLister(View view,int position,int type);}
















原创粉丝点击