如何解决Android中的ResourceType问题?

时间:2019-04-13 17:58:51

标签: java android android-resources

我正在开发一个显示图像的应用程序,当按下按钮时,该图像应显示在手机的墙纸中。但是在j代码中,mainActivity中显示错误(ResourceType)。 错误-预期的原始资源类型 这是Java代码

 public void click(View view){
        Button button =(Button) findViewById(R.id.button);
        final ImageView imageView =(ImageView) findViewById(R.id.de);
        imageView.setImageResource(R.drawable.de);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                WallpaperManager myWallpaper =WallpaperManager.getInstance(getApplicationContext());
                try {
                    myWallpaper.setResource(R.drawable.de);
                }catch (IOException e){
                    e.printStackTrace();
                }

            }
        });

    }
layout file

   <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:text="Setimage"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <ImageView
        android:id="@+id/de"
        android:layout_width="238dp"
        android:layout_height="273dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:src="@drawable/de"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button" />
</android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:0)

更改

imageView.setImageResource(R.drawable.de);

imageView.setImageDrawable(R.drawable.de);

imageView.setImageResource(R.raw.de);

您需要在项目的res目录中创建一个 raw 文件,并将图像放在此处。

res/raw/de.jpg