Skip to content Skip to sidebar Skip to footer

Single Click Button In Adapter Recylerview?

I have issue on single click Button in Adapter RecyclerView. The click button always more click to get response. But I want to single click, then get respon.. this is my button. &l

Solution 1:

If it is responding to the click events, I guess its working properly. It may be just taking time. Try clicking only once and wait for some time. If it is responding then its working fine. And it may be a performance issue. Post your code so that we can get better idea about what is actually happening.

Try using the below adapter, and make any changes if required. Your "ViewHolder" class should implement View.OnClickListener not the adapter itself.

//package import android.app.Activity;
import android.content.Context;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.HashMap;

public classNewsAdapterextendsRecyclerView.Adapter<NewsAdapter.ViewHolder> {

    private ArrayList<HashMap<String, String>> dataNews;
    private Context context;

    public NewsAdapter(Activity activity, ArrayList<HashMap<String, String>> News,
                       ArrayList<HashMap<String, String[]>> newsArticleImages) {
        this.context = activity;
        dataNews = News;
    }

    @Override
    public ViewHolderonCreateViewHolder(ViewGroup parent, int viewType) {
        View v;
        ViewHolder vhItem;
        v = LayoutInflater.from(parent.getContext()).inflate(R.layout.pin_item_news_recyclerview, parent, false);
        vhItem = newViewHolder(v, viewType, context);
        return vhItem;
    }

    @Override
    public voidonBindViewHolder(ViewHolder holder, int position) {
//        holder.btn_action.setText("Action");
    }

    @Override
    public int getItemCount() {
        return dataNews.size();
    }

    @Override
    public int getItemViewType(int position) {
        return0;
    }

    public staticclassViewHolderextendsRecyclerView.ViewHolder implements View.OnClickListener {
        int Holderid;

        private OnNewsItemClickListenerOnNewsItemClickListener;
        Button  btn_action;;
        Context contxt;


        public ViewHolder(View itemView, int ViewType, Context c) {
            super(itemView);
            contxt = c;
            itemView.setClickable(true);
            itemView.setOnClickListener(this);

            btn_action = (Button) itemView.findViewById(R.id.btnDeleteGoalRecyclerItemActGoalList);

            btn_action.setOnClickListener(this);
        }

        @Override
        public voidonClick(View v) {
            try {
                OnNewsItemClickListener = (OnNewsItemClickListener) contxt;
            } catch (ClassCastException e) {
                thrownewClassCastException(contxt.toString()
                        + " must implement OnNewsItemClickListener");
            }
            final int viewId = v.getId();
            if (viewId == R.id.btn_action) {
                if (OnNewsItemClickListener != null) {
                    OnNewsItemClickListener.onActionClick(v, (Integer) v.getTag());
                }
            }
        }
    }

    public interface OnNewsItemClickListener {
        public voidonActionClick(View v, int position);
    }
}

Post a Comment for "Single Click Button In Adapter Recylerview?"