Lestr1992 Lestr1992 - 4 months ago 11
Android Question

setImageResource is not working

this is the first canvas.


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/background_linen" >

<ScrollView
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >



<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<TableRow
android:id="@+id/TableRow01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<TextView
android:id="@+id/TextView03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" "
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>


<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >





<ImageView
android:id="@+id/img1"
android:layout_width="wrap_content"
android:layout_height="150dp"
android:src="@drawable/girbaud1front" />

</TableRow>

<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" "
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>

<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >




<ImageView
android:id="@+id/img2"
android:layout_width="320dp"
android:layout_height="150dp"
android:src="@drawable/girbaud4front" />

</TableRow>

<TableRow
android:id="@+id/tableRow4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" "
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>

<TableRow
android:id="@+id/tableRow5"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >




<ImageView
android:id="@+id/img3"
android:layout_width="320dp"
android:layout_height="150dp"
android:src="@drawable/girbaud2front" />

</TableRow>


<TableRow
android:id="@+id/TableRow6"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" "
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>

<TableRow
android:id="@+id/TableRow7"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >




<ImageView
android:id="@+id/img4"
android:layout_width="320dp"
android:layout_height="150dp"
android:src="@drawable/girbaud3front" />

</TableRow>

<TableRow
android:id="@+id/TableRow02"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<TextView
android:id="@+id/TextView04"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" "
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>

</TableLayout>
</ScrollView>

</RelativeLayout>


the second canvas that image change will happen is this

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Layout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >




<ImageView
android:id="@+id/ImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:scaleType="fitXY"
android:src="@drawable/girbaud1front" />

<TextView
android:id="@+id/txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="62dp"
android:layout_marginLeft="48dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#000000" />

</RelativeLayout>


java file

package com.example.flip3d;

import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;


public class Cards extends Activity {

ImageView img1;
ImageView img2;
ImageView image;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.cards);

img1 =(ImageView) findViewById(R.id.img1);
img2 =(ImageView) findViewById(R.id.img2);
image =(ImageView) findViewById(R.id.ImageView01);

img1.setOnClickListener(new View.OnClickListener() {

public void onClick(View arg0) {

image.setImageResource(R.drawable.myfirstimage);
Intent startyou = new Intent("com.example.flip3d.FLIP3D");
startActivity(startyou);
}
});

img2.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {





image.setImageResource(R.drawable.may2ndimage);

Toast.makeText(Cards.this, "Card Selected", Toast.LENGTH_SHORT).show();

Intent startyou = new Intent("com.example.flip3d.FLIP3D");
startActivity(startyou);
}
});




}


}


http://i820.photobucket.com/albums/zz130/lestah23/untitled-1_zps33fa9be5.png
my logcat message.

when i run this code on my phone. an error occured. and when i check the logcat it says. that i having error in
setImageResource();


what should i do? im a biginner in android programming :(

thanks in advance

Answer

Updated@

Simon Schubert answer looks correct.

Otherwise you can also do by accessing getDrawable method from Resources.

Resources resources = getResources();
image.setImageDrawable(resources.getDrawable(R.drawable.myfirstimage));
Comments