wake-up-neo.net

Wie kann ich ein Bild in der Bildansicht in Android einstellen?

Ich möchte ein Bild in der Bildansicht anzeigen, also habe ich einen Ordner - drawable in res erstellt und mein Bild dort abgelegt. So etwas wie Apple.png. Dann benutze ich diesen Code:

ImageView iv= (ImageView)findViewById(R.id.img_selected_image);
String path = getApplication().getFilesDir().getAbsolutePath();
InputStream is = new FileInputStream(path + "/Apple.png");
Drawable icon = new BitmapDrawable(is);
Log.i("Fnord", "width="+icon.getIntrinsicWidth()+
     " height="+icon.getIntrinsicHeight());
iv.setImageDrawable(icon);

Aber wenn ich es laufen lasse, heißt es, dass es kein Bild von Apple.png name in data/data/package-name/files gibt. Ich glaube, ich habe mein Image an einen unpassenden Ort gestellt. Wo soll ich mein Bild einfügen?

16
shadi

sie können den Image-Namen in Ihrem Setimage direkt als iv.setImageResource(R.drawable.Apple); angeben, das es sein sollte. 

57
Anuj

verwenden Sie den folgenden Code,

    iv.setImageResource(getResources().getIdentifier("Apple", "drawable", getPackageName()));
7
Mehul Joisar

Anstatt in Ihrer Aktivitätsklasse durch Code Code zu zeichnen, können Sie auch das XML-Layout festlegen:

Code lautet wie folgt:

<ImageView
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:src="@drawable/Apple" />
5
Rajendra
// take variable of imageview

private ImageView mImageView;

//bind imageview with your xml's id

mImageView = (ImageView)findViewById(R.id.mImageView);

//set resource for imageview

mImageView.setImageResource(R.drawable.your_image_name);
3
Hiren Patel

Die Bilder, die Sie in res/drawable ablegen, werden von Android verarbeitet. Sie brauchen das Bild nicht so zu machen, wie Sie es getan haben. In Ihrem Fall können Sie einfach iv.setImageRessource(R.drawable.Apple) anrufen.

um das Bild einfach abzurufen (und nicht direkt zum ImageView hinzuzufügen), können Sie Context.getRessources().getDrawable(R.drawable.Apple) aufrufen, um das Bild abzurufen 

2
Sprigg
        ImageView iv= (ImageView)findViewById(R.id.img_selected_image);
        public static int getDrawable(Context context, String name)//method to get id
        {
         Assert.assertNotNull(context);
         Assert.assertNotNull(name);
        return context.getResources().getIdentifier(name,    //return id
            "your drawable", context.getPackageName());
        }
        image.setImageResource(int Id);//set id using this method
1
Raghunandan

wenn Sie ein Bitmap-Objekt für die Bildansicht festlegen möchten, ist dies einfach zweizeilig

Bitmap bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.sample_drawable_image);
image.setImageBitmap(bitmap);
1
Priyatam

Wenn Sie ImageView aus der Java-Klasse erstellt haben

ImageView img = new ImageView(this);

//Here we are setting the image in image view
img.setImageResource(R.drawable.my_image);
1
Lakshay Sharma

bild in der Bildansicht einstellen

imageView.setImageResource(R.drawable.myImage);
0
Gaurang Kanani

1> Sie können ein Bild aus dem Layout selbst hinzufügen:

<ImageView
                Android:id="@+id/iv_your_image"
                Android:layout_width="wrap_content"
                Android:layout_height="25dp"
                Android:background="@mipmap/your_image"
                Android:padding="2dp" />

ODER

2> Programmgesteuert in Java-Klasse:

ImageView ivYouImage= (ImageView)findViewById(R.id.iv_your_image);
        ivYouImage.setImageResource(R.mipmap.ic_changeImage);

ODERfür Fragmente:

View rowView= inflater.inflate(R.layout.your_layout, null, true);

ImageView ivYouImage= (ImageView) rowView.findViewById(R.id.iv_your_image);
        ivYouImage.setImageResource(R.mipmap.ic_changeImage);
0
Tarit Ray