java - android 中最喜欢的按钮无法正常工作

标签 java android xml

你好我正在制作一个应用程序,其中我有一个小心脏图像 onclick 该图像我设置了一个 onclick 监听器 所以当我点击该图像时它被另一个红色心脏图像取代.

所以我的问题是,当我再次点击红色的心形图像时,它不会变成正常状态,即空白的心形 vector 图像,因为我是 android 的新手,我没有太多知识,如果有人可以指导的话。

我的图片点击代码

  @Override
    public void onBindViewHolder(FeedViewHolder holder, int position) {
    int image_id = images[position];
    //holder.background_image_layout.setImageDrawable(null);
    //holder.background_image_layout.setImageResource(image_id);
    holder.background_image.setBackgroundResource(image_id);

    }

    @Override
    public int getItemCount() {
        return images.length;
    }
    public static class FeedViewHolder extends RecyclerView.ViewHolder {
        CustomTextViewMedium first_text,second_text,third_text,fourth_text,fifth_text,sixth_text,
                seventh_text;
        ImageView favourite_image;
        CardView primary_card;
        LinearLayout background_image;
        ImageView background_image_layout;
        CircleImageView profile_image;
        public FeedViewHolder(View itemView) {
            super(itemView);
            background_image = (LinearLayout)itemView.findViewById(R.id.background_image);
            primary_card = (CardView)itemView.findViewById(R.id.primary_card);
            first_text = (CustomTextViewMedium)itemView.findViewById(R.id.first_text);
            second_text = (CustomTextViewMedium)itemView.findViewById(R.id.second_text);
            third_text = (CustomTextViewMedium)itemView.findViewById(R.id.third_text);
            fourth_text = (CustomTextViewMedium)itemView.findViewById(R.id.fourth_text);
            fifth_text = (CustomTextViewMedium)itemView.findViewById(R.id.fifth_text);
            sixth_text = (CustomTextViewMedium)itemView.findViewById(R.id.sixth_text);
            seventh_text = (CustomTextViewMedium)itemView.findViewById(R.id.seventh_text);
            favourite_image = (ImageView)itemView.findViewById(R.id.favourite_image);
            background_image_layout = (ImageView) itemView.findViewById(R.id.background_image_layout);
            profile_image = (CircleImageView)itemView.findViewById(R.id.profile_image);
            favourite_image.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(favourite_image.isPressed()){
                        favourite_image.setImageResource(R.drawable.ic_heart);
                        favourite_image.setScaleType(ImageView.ScaleType.CENTER_CROP);
                    }
                    else {
                        favourite_image.setImageResource(R.drawable.ic_favorite_border_black_24dp);
                        favourite_image.setScaleType(ImageView.ScaleType.CENTER_CROP);
                    }
                }
            });


        }
    }

最佳答案

像这样使用 if 条件:-

首先像这样全局定义:-

boolean imageChange = true;

然后在 setOnClickListener 中这样做:-

  favourite_image.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if(imageChange ){
                            favourite_image.setImageResource(R.drawable.ic_heart);
                            favourite_image.setScaleType(ImageView.ScaleType.CENTER_CROP);
                            imageChange = false;                        
                           }else {
                                favourite_image.setImageResource(R.drawable.ic_favorite_border_black_24dp);
                                favourite_image.setScaleType(ImageView.ScaleType.CENTER_CROP);
                                imageChange = true;
                            }
                        }
                    });

关于java - android 中最喜欢的按钮无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50059554/

相关文章:

android - WebView 链接不起作用

android - 父 ScrollView 中的可滚动 GridView 不起作用

java - CardLayout 中的按钮不起作用

android - 如何通过深度链接在不丢失 Activity 堆栈(或应用程序状态)的情况下恢复 Android 应用程序?

java - 注册监听器的正确位置在哪里

android - 将 Square Picasso 的缓存大小限制为最大 60MB

javascript - Adobe Air App 在中心启动

javascript - 如何在 javascript 中发送 SOAP 请求,就像在 SoapUI 中一样

java - 调整数组大小以提高速度

java - iPhone、iPad 和 Windows Phone 应用程序部署为什么?