【问题标题】:" Could not find class 'android.graphics.drawable.RippleDrawable' " error when refering to drawables引用可绘制对象时出现“找不到类 'android.graphics.drawable.RippleDrawable'”错误
【发布时间】:2017-04-12 08:35:06
【问题描述】:

现在我正在使用具有相对布局的水平滑块。 它做我想让程序做的事情,而且方式更简单。 但是这个错误(如下)仍然存在。

我是新手,正在尝试制作一个应用程序,其中基本上在主屏幕上有多个按钮 (15),其中一个在单击时显示文本(它工作正常)所有其他活动都是空的,但是当按钮是时布局打开按下,除了非空的家庭按钮 family 按钮 (id: butfamily) 按下时,会使应用停止工作。

我希望家庭按钮显示可绘制对象中的多张图片(目前为 2 张),这些图片可以水平滑动。

我相信活动被正确调用,问题出在 family.class 或 activity_family.xml

这是 Android 设备 -> 错误 (我不知道这有什么帮助,但是很多人在这里发布它......)

04-12 11:11:55.525 2537-2537/? E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering

这里是family.java类

packagenamehere;

import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

public class family extends PagerAdapter {
    private int [] imageResources ={R.drawable.capture3,R.drawable.capture4};
    private Context ctx;
    private LayoutInflater layoutInflater;

    public family(Context c) {
        ctx=c;
    }

    @Override
    public int getCount() {

        return imageResources.length;
    }



    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        layoutInflater= (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View itemView=layoutInflater.inflate(R.layout.activity_family,container,false);
        ImageView imageView=(ImageView) itemView.findViewById(R.id.swip_image_view);
        TextView textView=(TextView) itemView.findViewById(R.id.imageCount);
        imageView.setImageResource(imageResources[position]);
        textView.setText("Image No# "+position);
        container.addView(itemView);
        return itemView;
    }


    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {

    }

    @Override
    public boolean isViewFromObject(View view, Object object) {

        return  (view==object);
    }
}

活动显示在清单中

需要帮助,非常感谢:)

【问题讨论】:

标签: java android layout drawable overlapping


【解决方案1】:

此代码似乎是从其他地方复制的。

您可以尝试以下方法

  1. 验证名为 capture3、capture4 的资源文件是否在 drawable 目录下
  2. 删除并重新添加它们
  3. 构建 -> 重建项目

【讨论】:

  • 是的,Sliding 类是从 youtube 教程中复制而来的。你给的选项,已经试过了。当我将教程代码放在主页上时,它可以正常工作,我切换了布局和活动并进行了必要的更改。但是当我按下按钮时应用程序关闭。
  • 您是否验证了名为 capture3、capture4 的资源文件是否在 drawable 目录下?
  • 我遇到了文件压缩错误,我通过正确编辑文件并将扩展名正确更改为 png 来解决该错误。是的,文件存在。
  • 我现在使用带有相对布局子的水平滑块,它为我完成了这项工作,我不必强调这些复杂的代码,也许我应该按照自己的步调 :)
猜你喜欢
  • 1970-01-01
  • 2016-09-03
  • 1970-01-01
  • 1970-01-01
  • 2018-02-21
  • 1970-01-01
  • 2013-12-13
  • 2022-11-11
  • 1970-01-01
相关资源
最近更新 更多