-1

I created a custom adapter using RecyclerView. I have text view and image view in every item of recycler view. I want that if i click the image view, i wanna open alert dialog and if i click other part of recycler view item,i wanna open another activity.I wrote this code for click event of image view:

this is a part of my adapter:
@Override public void onBindViewHolder(ViewHolder holder, int position) { final gelen_konum_bilgileri_list list=konum_bilgileri_listesi.get(position);

    final Double longitude=list.getLongitude();
    final Double latitude=list.getLatitude();
    holder.longitude.setText(context.getString(R.string.boylam) + longitude);
    holder.latitude.setText(context.getString(R.string.enlem)+latitude);

    holder.map_image_view.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Utils.address_alert_dialog(context,longitude,latitude);
        }
    });
}

and this is recycler view click event:

   recyclerView.addOnItemTouchListener(new RecyclerViewItemClickListener(getActivity(), recyclerView, new RecyclerViewItemClickListener.OnItemClickListener() {
        @Override
        public void onItemClick(View view, int position) {

                Bundle bundle=new Bundle();
                bundle.putDouble("longitude",secilen_liste.get(position).getLongitude());
                bundle.putDouble("latitude",secilen_liste.get(position).getLatitude());
                bundle.putLong("tarih",secilen_liste.get(position).getTimeMills());
                bundle.putString("isim",secilen_liste.get(position).getKisi_konum());

                Fragment  fragment= new MapsFragment();
                fragment.setArguments(bundle);
                FragmentManager fragmentManager=getActivity().getSupportFragmentManager();
                fragmentManager.beginTransaction().replace(R.id.container_content_drawer,fragment)
                        .addToBackStack(null).commit();



        }

But if i click image view, activity is opened(nothing happens about alert dialog). How can i do what i want t do?

emowise
  • 121
  • 1
  • 14

1 Answers1

0

Please make sure you have clickable Imageview in your recycler item XML code.

Instead of BindViewHolder you can simply define your recyclerview item click in viewholder check the below example code for reference

public class ViewHolder extends RecyclerView.ViewHolder {

        ImageView map_image_view;

        public ViewHolder(View itemView) {
            super(itemView);
//your find view by id here
            map_image_view.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //add your image view click code here

                }
            });

            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //add whole item click code here

                }
            });
        }
    }

For more about recycler item click visit the link

Hiren Gujarati
  • 55
  • 1
  • 10
  • thanks but i used this code in onBindViewHolder . it works fine with double click. its interesting. How can i fix this problem? – emowise Oct 24 '18 at 16:39