public class MainActivity extends AppCompatActivity { /** * 復用視圖的控件 */ private RecyclerView recyclerView; /** * 顯示的數據 */ private ArrayList<String> mDatas; /** * RecyclerView的適配器 */ private MyRecyclerViewAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //1.找到控件 recyclerView = (RecyclerView) findViewById(R.id.recyclerview); //2.聲名為瀑布流的布局方式: 3列,垂直方向 StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL); //3.為recyclerView設置布局管理器 recyclerView.setLayoutManager(staggeredGridLayoutManager); initData();//初始化數據 //3.創建適配器 adapter = new MyRecyclerViewAdapter(this, mDatas); //設置添加,移除item的動畫,DefaultItemAnimator為默認的 recyclerView.setItemAnimator(new DefaultItemAnimator()); //4.設置適配器 recyclerView.setAdapter(adapter); //添加點擊事件 adapter.setOnItemClickListener(new MyRecyclerViewAdapter.OnRecyclerItemClickListener() { @Override public void onItemClick(View view, int position) { //Toast.makeText(MainActivity.this,"單擊了:"+mDatas.get(position),Toast.LENGTH_SHORT).show(); adapter.addItem(position,"添加的內容"); Log.i("tag", "onItemClick: "+position); Log.i("tag", "集合: "+mDatas.toString()); } }); //設置長按事件 adapter.setOnItemLongClickListener(new MyRecyclerViewAdapter.onRecyclerItemLongClickListener() { @Override public void onItemLongClick(View view, int position) { //Toast.makeText(MainActivity.this,"長按了:"+mDatas.get(position),Toast.LENGTH_SHORT).show(); adapter.removeItem(position); Log.i("tag", "onItemLongClick: "+position); Log.i("tag", "集合: "+mDatas.toString()); } }); } //初始化數據 protected void initData(){ mDatas = new ArrayList<String>(); for (int i = 'A'; i < 'z'; i++){ mDatas.add("" + (char) i); } } }