国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android recycleView的應用和點擊事件實例詳解

2019-12-12 04:13:24
字體:
來源:轉載
供稿:網友

Android recycleView的應用和點擊事件

效果圖:


長按是刪除:

下面代碼:

MainActivity 類

public class MainActivity extends AppCompatActivity {  RecyclerView rv;  List<String> mList = new ArrayList<>();  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    rv = (RecyclerView) findViewById(R.id.rv);    for (int i = 0; i < 1000; i++) {      mList.add("條目" + i);    }    final MyAdapter adapter = new MyAdapter(this, mList);    adapter.setOnItemClickListener(new MyAdapter.OnItemClickListener() {      @Override      public void onClick(int position) {        Toast.makeText(getBaseContext(), "點擊的是" + position + "的itemClick", Toast.LENGTH_SHORT).show();      }    });    adapter.setOnItemLongClickListener(new MyAdapter.OnItemLongClickListener() {      @Override      public void onLongClick(int position) {        //長按刪除數據        mList.remove(position);        adapter.notifyDataSetChanged();      }    });    rv.setAdapter(adapter);    //布局管理器    rv.setLayoutManager(new StaggeredGridLayoutManager(5, StaggeredGridLayoutManager.VERTICAL));  }  public static class VH extends RecyclerView.ViewHolder {    TextView tv;    public VH(View itemView) {      super(itemView);      tv = (TextView) itemView.findViewById(android.R.id.text1);      tv.setBackgroundResource(R.drawable.bg);    }  }}

MyAdapter.java類

public class MyAdapter extends RecyclerView.Adapter<MainActivity.VH> {  Context mContext;  List<String> mList;  public MyAdapter(Context context, List<String> list) {    this.mContext = context;    this.mList = list;  }  @Override  public MainActivity.VH onCreateViewHolder(ViewGroup parent, int viewType) {    return new MainActivity.VH(View.inflate(mContext, android.R.layout.simple_list_item_1, null));  }  @Override  public void onBindViewHolder(MainActivity.VH holder, final int position) {    holder.tv.setText(mList.get(position));    //自己做item點擊    holder.itemView.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        if (onItemClickListener != null)          onItemClickListener.onClick(position);      }    });    holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {      @Override      public boolean onLongClick(View v) {        if (onItemLongClickListener != null)          onItemLongClickListener.onLongClick(position);        //返回false會在長安結束后繼續點擊        return true;      }    });  }  @Override  public int getItemCount() {    return mList.size();  }  /**   * 點擊   */  public interface OnItemClickListener {    void onClick(int position);  }  OnItemClickListener onItemClickListener;  public void setOnItemClickListener(OnItemClickListener onItemClickListener) {    this.onItemClickListener = onItemClickListener;  }  public interface OnItemLongClickListener {    void onLongClick(int position);  }  OnItemLongClickListener onItemLongClickListener;  public void setOnItemLongClickListener(OnItemLongClickListener onItemLongClickListener) {    this.onItemLongClickListener = onItemLongClickListener;  }}

activity_main.xml類

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:id="@+id/activity_main"  android:layout_width="match_parent"  android:layout_height="match_parent"  tools:context="com.example.administrator.lesson10_recyclerview2.MainActivity">  <android.support.v7.widget.RecyclerView    android:id="@+id/rv"    android:layout_width="match_parent"    android:layout_height="match_parent" /></RelativeLayout> 

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 曲阳县| 乌兰浩特市| 嫩江县| 云龙县| 罗源县| 盘锦市| 庆云县| 永州市| 勐海县| 沈丘县| 南投市| 社旗县| 吴忠市| 耿马| 永济市| 准格尔旗| 绩溪县| 江阴市| 贵南县| 天柱县| 昂仁县| 万州区| 韩城市| 岱山县| 澜沧| 界首市| 乐至县| 丽水市| 舟山市| 五常市| 襄樊市| 凭祥市| 英吉沙县| 辽宁省| 营口市| 新竹市| 鄢陵县| 康马县| 宝鸡市| 阿瓦提县| 南澳县|