2017-07-09 2 views
2

J'ai un listview en ce que j'ai recylerview de cartes ... quand je sélectionne l'un d'entre eux alors une disposition flottante devrait être là qui a 3 boutons. J'utilise cette bibliothèque enter link description here.Réglage de survol pour les éléments dans recyclerview

J'utilise cette bibliothèque dans un adaptateur et j'ai défini cette carte dans l'activité, mais dès que je passe à l'activité, l'application se bloque avec NullPointerException. l'erreur se pose est que quand je gonfle deux fichiers xml mais je veux gonfler le abc_card_view_video d'abord puis en cliquant sur l'un de celui-ci le nouveau fichier hover_card_view devrait gonfler mais l'ancien fichier devrait être en arrière-plan.

aidez-moi à m'en sortir. Merci

 public class LessonVideoAdapter extends RecyclerView.Adapter<LessonDataHolder> { 

      private List<VideoList> slipList; 
      private Context mContext; 
      public BlurLayout samplelayout; 


      public LessonVideoAdapter() { 
       slipList = new ArrayList<>(); 
       slipList.add(new VideoList("Chapter 1", R.drawable.demo_one)); 
       slipList.add(new VideoList("Chapter 2", R.drawable.demo_two)); 
       slipList.add(new VideoList("Chapter 3", R.drawable.demo_one)); 

      } 

      @Override 
      public LessonDataHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
       Context context = parent.getContext(); 
       LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
       View view = inflater.inflate(R.layout.abc_card_view_video, parent, false); 
return new LessonDataHolder(view);   
    } 

      @Override 
      public void onBindViewHolder(LessonDataHolder holder, int position) { 
       VideoList s = slipList.get(position); 
       holder.bindSlip(s); 

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

     class LessonDataHolder extends RecyclerView.ViewHolder { 

      private TextView nameOfSlip; 
      private ImageView slipImage; 
      private Context context; 
      public LessonDataHolder(View itemView) { 
       super(itemView); 

       context = itemView.getContext(); 
       nameOfSlip = (TextView) itemView.findViewById(R.id.demoText); 
       slipImage = (ImageView) itemView.findViewById(R.id.imageViewDemoVideo); 

      } 

      public void bindSlip(VideoList videoList) { 
       nameOfSlip.setText(videoList.stringSlipName); 
       slipImage.setImageResource(videoList.stringImage); 
      } 
     } 

     class VideoList { 
      public String stringSlipName; 
      public int stringImage; 

      public VideoList(String stringSlipName, int stringImage) { 
       this.stringImage = stringImage; 
       this.stringSlipName = stringSlipName; 
      } 

     } 

Répondre

3

Vous devriez écrire ce code dans le listner de clic sur des articles

View view = inflater.inflate(R.layout.abc_card_view_video, parent, false); 
    samplelayout = (BlurLayout) parent.findViewById(R.id.blur_layout); 
       View hover = inflater.inflate(R.layout.hover_card_view, null); 
       samplelayout.setHoverView(hover);