RecyclerView点击事件监听
生活随笔
收集整理的這篇文章主要介紹了
RecyclerView点击事件监听
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
通過一個demo記錄recyclerview的基礎用法,包括設置item間距,adapter內監聽點擊和接口回調監聽。
MyAdapter
my_item.xml
這是單個item的布局,可以放置多個子控件,這里只放了一個TextView
activity_linear_recyclerViewActivity
這個是recyclerview的布局
dimens.xml
間距插件
使用recyclerview的活動
package com.example.kw.recyclerviewtest;import android.graphics.Rect; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.View; import android.widget.Toast;import java.util.ArrayList; import java.util.List;public class LinearRecyclerViewActivity extends AppCompatActivity {private RecyclerView mRvMain;private List<String > mData = new ArrayList<String>();private void initData() {mData.add("巴塞羅那");mData.add("皇家馬德里");mData.add("尤文圖斯");mData.add("拜仁慕尼黑");mData.add("曼城");mData.add("曼聯");mData.add("多特蒙德");mData.add("利物浦");mData.add("巴黎圣日耳曼");mData.add("沙爾克04");mData.add("勒沃庫森");mData.add("托特納姆熱刺");mData.add("那不勒斯");mData.add("國際米蘭");mData.add("AC米蘭");mData.add("馬德里競技");mData.add("切爾西");}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_linear_recycler_view);initData();mRvMain = findViewById(R.id.rv_main);mRvMain.setLayoutManager(new LinearLayoutManager(LinearRecyclerViewActivity.this));mRvMain.addItemDecoration(new MyDecoration());mRvMain.setAdapter(new MyAdapter(LinearRecyclerViewActivity.this, mData, new MyAdapter.OnItemClickListener() {@Overridepublic void onClick(int pos) {Toast.makeText(LinearRecyclerViewActivity.this, "外部點擊 " + pos, Toast.LENGTH_SHORT).show();}}));}class MyDecoration extends RecyclerView.ItemDecoration {@Overridepublic void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {super.getItemOffsets(outRect, view, parent, state);outRect.set(0, 0, 0, getResources().getDimensionPixelOffset(R.dimen.dividerHeight)); // 1dp間隔下劃線}} }總結
以上是生活随笔為你收集整理的RecyclerView点击事件监听的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: frp端口映射服务器搭建
- 下一篇: ubuntu 在终端打开文件管理器