Ich habe versucht, das Standard-Hintergrundbild mithilfe einer Schaltfläche zu setzen, aber aus irgendeinem Grund, wenn ich den InputStream in der OnCreate-Methode setze, erhalte ich die Fehlermeldung "erwartete Ressource vom Typ Raw". Ich verweise auf den ziehbaren Ordner und verwende das Bild icon.png, das sich im ziehbaren Ordner befindet. Ich habe die Tutorials in der NewBoston-Serie verfolgt und es scheint für Travis gut zu funktionieren, aber aus irgendeinem Grund funktioniert meine nicht in Android Studio. Was könnte der Fehler sein? DankWarum erhalte ich in Android Studio den Fehler "Erwartete Ressource vom Typ Raw"?
Camera.java:
package com.example.user.cameraapplication;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.Switch;
import java.io.IOException;
import java.io.InputStream;
/**
* Created by user on 16-08-2015.
*/
public class Camera extends Activity implements View.OnClickListener{
ImageView iv;
Button b1,b2;
ImageButton img;
Intent i;
final static int cameractivity = 0;
Bitmap b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.photo);
inititalize();
InputStream is = getResources().openRawResource(R.drawable.icon);
b = BitmapFactory.decodeStream(is);
}
private void inititalize() {
iv = (ImageView)findViewById(R.id.iView1);
img = (ImageButton)findViewById(R.id.imgbtn);
b1 = (Button)findViewById(R.id.btn1);
b2 = (Button)findViewById(R.id.btn2);
b1.setOnClickListener(this);
b2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.btn1:
try {
getApplicationContext().setWallpaper(b);
} catch (IOException e) {
e.printStackTrace();
}
break;
case R.id.imgbtn:
i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i,cameractivity);
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK)
{
Bundle extras = data.getExtras();
b = (Bitmap)extras.get("data");
iv.setImageBitmap(b);
}
}
}
Image:
Betrachten Sie [diese] (http://stackoverflow.com/questions/25572647/android-openrawresource-not-working-for-a-drawable) – DSlomer64