【问题标题】:Setting hover for items in recyclerview为回收站视图中的项目设置悬停
【发布时间】:2017-07-09 10:44:14
【问题描述】:

我有一个列表视图,因为我有卡片视图的 recylerview...当我选择其中任何一个时,应该有一个浮动布局,它有 3 个按钮。我正在使用这个库enter link description here

我在适配器中使用此库并已在 Activity 中设置该适配器,但一旦我进入 Activity,应用程序就会因 NullPointerException 而崩溃。出现的错误是,当我充气两个 xml 文件但我想先充气 abc_card_view_video 然后点击其中任何一个新文件 hover_card_view 应该充气但旧文件应该在后台。

帮助我摆脱困境。谢谢

     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;
            }

        }

【问题讨论】:

    标签: android hover android-cardview android-viewholder


    【解决方案1】:

    您应该在单击项目的列表器中编写此代码

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

    【讨论】:

      猜你喜欢
      • 2020-10-11
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多