RecyclerView添加Main

来源:互联网 发布:linux删除oracle用户 编辑:程序博客网 时间:2024/05/16 06:46
package com.bwie.recyclerviewdemo;


import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.View;
import android.widget.Toast;


import java.util.ArrayList;
import java.util.List;


public class MainActivity extends AppCompatActivity implements MyAdapter.OnItemClickListener {


    private RecyclerView recyclerView;
    private List<String> list;
    private MyAdapter adapter;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);




        //初始化数据
        list = new ArrayList<>();


        for (int i = 'A'; i < 'z'; ++i){//A1 ,2   z 98


            list.add(""+(char)i);


        }






        recyclerView = findViewById(R.id.recyclerView);


        //设置一个线性布局挂历起布局管理器
        //HORIZONTAL 设置水平方向  垂直方向   false true  true 反转 倒着显示  false 顺序显示
        //recyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false));


        //设置一个网格管理器
        //Vertical 代表显示多少列
        //Horizontal 代表显示多少行
        //recyclerView.setLayoutManager(new GridLayoutManager(this,3,GridLayoutManager.HORIZONTAL,false));


        //瀑布流布局管理器
        recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL));




        //设置分割线
        recyclerView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL));


        //添加条目动画
        recyclerView.setItemAnimator(new DefaultItemAnimator());




        //设置适配器


        adapter = new MyAdapter(this,list);
        recyclerView.setAdapter(adapter);




        //设置点击事件
        adapter.setOnItemClickListener(this);








    }




    public void btnAddItem(View view){


        adapter.addItem("我们不一样");




    }










    @Override
    public void setOnItemClick(View view, int position) {


        //条目点击事件
        //Toast.makeText(this, "条目" + position, Toast.LENGTH_SHORT).show();


        adapter.removeItem(position);


    }


    @Override
    public void setOnItemLongClick(View view, int position) {


        //长按事件


        Toast.makeText(this, "长按条目"+position, Toast.LENGTH_SHORT).show();


    }
}