RecyclerView элемент элемента (изображение) нажмите - PullRequest
0 голосов
/ 23 октября 2018

Я создал собственный адаптер, используя RecyclerView.У меня есть просмотр текста и изображения в каждом элементе представления переработчика.Я хочу, чтобы, если я щелкаю по представлению изображения, я хочу открыть диалоговое окно с предупреждением, а если я щелкаю по другой части элемента представления переработчика, я хочу открыть другое действие. Я написал этот код для события щелчка при просмотре изображения:

thisявляется частью моего адаптера:
@Override public void onBindViewHolder (держатель ViewHolder, позиция int) {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);
        }
    });
}

, и это событие клика в представлении рециркулятора:

   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();



        }

Но если я нажимаю на просмотр изображений, действие открывается (ничего не происходит с диалоговым окном оповещения).Как я могу делать то, что хочу?

1 Ответ

0 голосов
/ 23 октября 2018

Пожалуйста, убедитесь, что у вас есть интерактивный просмотр изображений в XML-коде вашего элемента утилизации.

Вместо BindViewHolder вы можете просто определить свой элемент просмотра переработчика, щелкнув в держателе просмотра, проверьте приведенный ниже пример кода для справки

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

                }
            });
        }
    }

Для получения более подробной информации об утилизаторе нажмите ссылку

...