RecyclerView點擊事件,模仿ListView寫法

  • RecyclerView做爲一個新組件,在定製樣式的時候極其靈活和簡單,ListView大有被拋棄的態勢,不過RecyclerView可能在樣式方面的靈活性,致使其在其餘方面須要親自動手設置的方面略微複雜,點擊事件就是其中一項,不過假如掌握的話,RecyclerView絕對會發揮巨大的做用的。 仿照ListView.setOnItemClickListener的寫法,咱們在RecyclerView.Adapter內部定義一個內部類,來做爲對外展現的接口。
public class Adpater extends RecyclerView.Adapter implements View.OnClickListener
{
	public static interface OnItemClickListener{
		/*position此處是每個Item所在的位置,做爲Tag*/
		public void setOnItemClick(View v,int position);
	};

	//
	private OnItemClickListener listener;
	/*暴露給外部的接口,給內部類的對象賦值*/
	public void setOnItemClickListener(OnItemClickListener listener)
	{
		this.listener = listener;
	}

	@Override
    public void onBindViewHolder(RecyclerViewHolder holder, final int position) {
    	/*爲每個Item設置一個tag*/
    	holder.itemView.setTag(position);
    }

	@Override
    public RecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(mContext).inflate(R.layout.adapter_employ_item,parent,false);
        /*設置每個Item的點擊事件*/
        view.setOnClickListener(this);
        return new RecyclerViewHolder(view);
    }

    //點擊事件觸發,調用實現接口的方法
    @Override
    public void Onclick(View v)
    {
    	  	if (listener!=null) {
    		listener.setOnItemClick(v,v.getTag);
    	}
    }

    public class RecyclerViewHolder extends RecyclerView.ViewHolder{
        
        public RecyclerViewHolder(View itemView) {
            super(itemView);
       
        }
    }
}

相關連接,同時強力推薦此網站學習androidhtml

相關文章
相關標籤/搜索