RecyclerView 多條目載入 和點選事件
compile 'com.android.support:recyclerview-v7:25.1.0'
////////////////////////////////////////////////////////////
//如果巢狀 ScrollowView 需要加上他 //recyclerView.setNestedScrollingEnabled(false);
//設定一個線性佈局掛曆起佈局管理器 //HORIZONTAL設定水平方向 垂直方向 false true true反轉 倒著顯示 false順序顯示
recyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false));
//設定一個網格管理器
recyclerView.setLayoutManager(newGridLayoutManager(this,1,GridLayoutManager.HORIZONTAL,false));
//設定分割線recyclerView.addItemDecoration(newDividerItemDecoration(this,DividerItemDecoration.VERTICAL));
//設定介面卡MyAdapter adapter = new MyAdapter(this,recylelist); recyclerView.setAdapter(adapter);
adapter.setOnItemClickListener(new MyAdapter.OnItemClickListener() { @Override public void setOnItemClick(View view, int position) { Log.d("ggg","點選"); } @Override public void setOnItemLongClick(View view, int position) { Log.d("ggg","長按"); } });
/////////////////////////////////////////////////////
此多條目 第一種是的一條 第二種是剩下所有條
//此處可以改成自己的介面卡名字
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<Bean> list; private int Viewk_0=0; private int Viewk_1=1; private int Viewk_2=2; private int Viewk_3=3; private View view; private List<String> lo; public MyAdapter(Context context,List<Bean> list){ this.context = context; this.list=list; } @Override public int getItemViewType(int position) { if(position*1==0){ return Viewk_0; }else{ return Viewk_1; } } /** * * @param parent * @param viewType * @return */ @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { if(viewType==Viewk_0){ view = LayoutInflater.from(context).inflate(R.layout.itembanner,parent,false); ViewHolderA viewHolderA = new ViewHolderA(view); return viewHolderA; }else { view = LayoutInflater.from(context).inflate(R.layout.item,parent,false); ViewHolderB viewHolderB = new ViewHolderB(view); return viewHolderB; } } /* 生命自己的一個事件回撥介面*/ //如果要將這個介面移到外面去 那麼久別用這個介面了 直接在
//onBindViewHolder中寫點選邏輯
public interface OnItemClickListener{
void setOnItemClick(View view,int position);
void setOnItemLongClick(View view,int position);
}
private OnItemClickListener onItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener){
this.onItemClickListener = onItemClickListener;
}
@Overridepublic void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
if(holder instanceof ViewHolderA){
}else if(holder instanceof ViewHolderB){
}
if(null != onItemClickListener)
{ /*回撥點選事件*/holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClickListener.setOnItemClick(v,position);
}
});
holder.itemView.setOnLongClickListener(new View.OnLongClickListener(){
@Override
public boolean onLongClick(View v) {
onItemClickListener.setOnItemLongClick(v,position); return true; } }); } }
@Override public int getItemCount() {
return 4; }
class ViewHolderA extends RecyclerView.ViewHolder{
Banner banner;
public ViewHolderA(View itemView) {
super(itemView);
banner=itemView.findViewById(R.id.banner); } }
class ViewHolderB extends RecyclerView.ViewHolder{
TextView text;
TextView text2;
SimpleDraweeView simple;
public ViewHolderB(View itemView) {
super(itemView);
text = itemView.findViewById(R.id.text1);
text2 = itemView.findViewById(R.id.text2);
simple = itemView.findViewById(R.id.simple); }
}}
相關推薦
RecyclerView 多條目載入 和點選事件
compile 'com.android.support:recyclerview-v7:25.1.0' //////////////////////////////////////////////////////////////如果巢狀 ScrollowView 需要加上
RecyclerView 多條目載入和字條目點選事件
package com.example.day02.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.w
Android中Recyclerview使用7----條目中按鈕點選事件,在activity中呼叫(介面回撥)
0引入Recyclerview的支援庫 compile 'com.android.support:recyclerview-v7:23.4.0' 1效果圖: 2程式碼: 2.1MainActivity中: <span style="font-size:18p
recyclerView的介面回撥點選事件和多級列表展示
//activity中的方法 recyclerView = (RecyclerView) findViewById(R.id.rv3); list = new ArrayList<
Android-UI佈局---RecyclerView學習(一)在介面卡中自定義長按和點選事件
該系列文章 如果想全方面學習,建議參考這個大牛的文章,寫的真可以。 地址:http://blog.csdn.net/lmj623565791/article/details/45059587 因為RecyclerView沒有點選、長按事件,需要自己寫 實現的方式比較多,
ButterKnife (奶油刀) 找控制元件id和點選事件的註解 簡單使用
首先 在app裡的build 最上面--------------------- apply plugin: ‘com.jakewharton.butterknife’ ----------------在app裡的build 加入依賴---------------------------
安卓實現任意控制元件view可拖拽,並監聽拖拽和點選事件,可自動拉回螢幕邊緣
因為專案中有需要實現控制元件可任意拖拽的需求,所以簡單寫了個自定義OnTouchListener,以作拋磚引玉,歡迎大家提議反饋。 完整實現類如下,程式碼中有詳細註釋: 使用者可以決定是否開啟自動拖拽邊緣功能,可以監聽控制元件的拖拽和點選事件 public cl
RecyclerView的超強輔助Graywater——點選事件
關於Graywater的系列文章 上一篇寫了Graywater的基礎使用,但是沒講點選事件,這一篇文章就把點選事件給補充上。還是使用的基礎實操篇中的GraywaterPrimaryDemo繼續寫。 先展示點選效果圖: 在RecyclerView中如果需要點選
vue中的長按事件和點選事件衝突
ps:我是個新手,最近一直在做移動端的專案,先說下需求,點選圖片預覽,長按刪除,之前在圖片上幫定了點選事件和長按事件,但是會有衝突,由於智商不夠,百度半天才解決的,最後直接把點選事件給去了,直接用定時器械的,記錄下,下次直接用就好了 1,觸屏事件 touchstart: //手指放到
android ViewPager實現App主介面Tab選單頁面切換和點選事件
Tabhost實現頁面滑動切換比較麻煩,這裡介紹一下viewPage 控制元件。 實現了三屏滑動帶標題點選和tab頁面內按鈕的的點選事件實現; viewPage 的優點是可以滑動切換缺點是MainA
為RecyclerView打造萬能介面卡,點選事件,5.0水波紋點選效果
一.前言 最近使用到RecyclerView,RecyclerView使用詳解戳這裡,由於使用過張鴻洋大神的ListView萬能Adapter,感覺RecyclerView的Adapter編寫還是太麻煩了,而且沒有點選事件,ok,參考ListView的萬能Ad
RecyclerView多條目載入(網路請求資料)
RecyclerView多條目載入和ListView的多條目載入用法是一樣的,程式碼如下: 1.匯入RecyclerView或XRecyclerView的依賴包(自己按照需求匯入依賴包,下面RecyclerView可以替換成XRecyclerView)XRecyclerVi
android Fragment實現APP主介面Tab頁面切換和點選事件
Fragment 頁面切換不能滑動 所以對於listview 可以新增的左右滑動事件 ,不會有衝突例如(QQ的好友列表的刪除) Fragment 和viewpager 的區別 Viewpager 的事件都需要寫在 MainActivity 使
RecyclerView為每個item新增點選事件
最終目的模擬ListView的setOnItemClickListener()方法,呼叫者只須呼叫類似於setOnItemClickListener的東西就能獲得被點選item的相關資料。原理為RecyclerView的每個子item設定setOnClickListene
RecyclerView 實現瀑布流及點選事件,含點選回撥的介面
RecyclerView 實現瀑布流及點選事件 public class FruitAdapter extends RecyclerView.Adapter<FruitAdapter.ViewHolder> { private List
Android用GridView畫帶背景色和點選事件的簡單表格
一:效果圖 六步即可完成GridView不同背景色,並且每個單元格可點選 GridView佈局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="h
recyclerview多條目載入
adapter介面卡 import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.V
為canvas繪製的多個圖形設定點選事件
一、給Canvas元素繫結事件基礎知識 由於事件只能達到Canvas元素這一層,所以,如果想進一步深入,識別點擊發生在Canvas內部的哪一個圖形上,就需要增加程式碼來進行處理。 基本思路是:給Canvas元素繫結事件,當事件發生時,檢查事件物件的位置,然後檢查哪些圖形覆
Android 中SpannableStringBuilder控制區域性文字顏色和點選事件
直接上程式碼 package com.lhl.qsmm.maskguidetest; import android.os.Bundle; import android.support.v4.content.ContextCompat; import android.s
textview設定多種不同的字型顏色和點選事件
最近專案需要用到textview為特定字元設定不同的顏色,如果用不同的控制元件拼起來的話一行也許沒有問題,但是如果換行的話效果就不理想了就像qq空間回覆品論的效果,暱稱和內容文字顏色不一樣,點選事件也不一樣。 目前我找到兩張方法,效果一樣。想用哪種看個人喜好