How to call an added image in android? -
i have written code. have 4 images called. 3 images running in emulator.
the other image not visible.
please let me know why image not being called correctly?
package com.mobility.visiontest.ui; import com.mobility.visiontest.r; import android.app.alertdialog; import android.content.dialoginterface; import android.content.intent; import android.os.bundle; import android.view.motionevent; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.imageview; import android.widget.textview; public class duochrometest extends uiscreenactivity { private boolean islefteye = false; private boolean isrighteye = false; private int correctanscount = 0; private int tapcount = 0; private int testcount = 1; private int images[] = {r.drawable.d1,r.drawable.d2,r.drawable.d3,r.drawable.d4,r.drawable.dc1}; private int dtest_image; @override protected void oncreate(bundle savedinstancestate) { // todo auto-generated method stub super.oncreate(savedinstancestate); setcontentview(r.layout.duochrome_image); imageview image = (imageview) findviewbyid(dtest_image); button button= (button) findviewbyid(r.id.button1); button.setonclicklistener(new onclicklistener() {@override public void onclick(view arg0) { // todo auto-generated method stub resetview(); } }); } public void resetview(){ setcontentview(r.layout.duochrometest); setobjects(); int a[] = { r.id.lefteye, r.id.righteye }; setonclicklistener(a); } @override public void onclick(view v) { // todo auto-generated method stub switch (v.getid()) { case r.id.lefteye: case r.id.righteye: resettestview(r.layout.duochrome_layout); break; case r.id.option1: case r.id.option2: case r.id.option3: case r.id.option4: ++tapcount; if(v instanceof button){ button button =(button)v; if(button.gettext().equals(getstring(r.string.clearboth) )|| button.gettext().equals(getstring(r.string.yes))){ ++correctanscount; } } updatequestionandanswers(); break; case r.id.testagain: ++testcount; resetview(); break; case r.id.backtotests: backtotests(); break; default: break; } } private void resettestview() { // todo auto-generated method stub } private void backtotests() { // todo auto-generated method stub intent = new intent(); i.setclassname(getapplicationcontext(),getstring(r.string.tests)); startactivity(i); finish(); } private void updatequestionandanswers() { // todo auto-generated method stub if(tapcount == 3){ // textview question = (textview)findviewbyid(r.id.question); ((textview)findviewbyid(r.id.question)).settext(r.string.duochromequestion2); ((button)findviewbyid(r.id.option1)).settext(r.string.clearred); ((button)findviewbyid(r.id.option2)).settext(r.string.cleargreen); ((button)findviewbyid(r.id.option3)).settext(r.string.notvisible); ((button)findviewbyid(r.id.option4)).setvisibility(view.invisible); }else if(tapcount > 3){ showresult(); }else{ ((imageview)findviewbyid(r.id.imageview)).setimageresource(images[tapcount]); } } private void showresult() { // todo auto-generated method stub setcontentview(r.layout.duochrometestresult); int a[] = { r.id.testagain, r.id.backtotests}; setonclicklistener(a); string result = null; if(correctanscount < 4 ){ result = getstring(r.string.duochromeresult2); if(testcount == 2 ){ result = getstring(r.string.duochromeresultiteration1); ((button)findviewbyid(r.id.testagain)).setvisibility(view.invisible); testcount =1 ; } }else if( correctanscount == 3){ result = getstring(r.string.duochromeresult1); ((button)findviewbyid(r.id.testagain)).setvisibility(view.invisible); } ((textview)findviewbyid(r.id.atresult)).settext(result.replace("%d", string.valueof(correctanscount)+"/3")); correctanscount = 0; tapcount = 0; } // resets vision acuity test view private void resettestview(int layout) { setcontentview(layout); ((imageview)findviewbyid(r.id.imageview)).setimageresource(images[tapcount]); int a[] = { r.id.option1, r.id.option2, r.id.option3, r.id.option4 }; setonclicklistener(a); } @override public boolean ontouch(view v, motionevent event) { // todo auto-generated method stub return false; } @override public void setobjects() { // todo auto-generated method stub } // mainmenu. private void backtomain() { intent = new intent(); i.setclassname(getapplicationcontext(), getstring(r.string.tests)); startactivity(i); finish(); } @override public void onbackpressed() { // todo auto-generated method stub // super.onbackpressed(); alertdialog dialog = null; alertdialog.builder builder = new alertdialog.builder(this); // add buttons builder.setpositivebutton(r.string.yes, new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int id) { // user clicked ok button backtomain(); } }); builder.setnegativebutton(r.string.no, new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int id) { // user cancelled dialog dialog.dismiss(); } }); builder.setmessage(getstring(r.string.exittest)); dialog = builder.create(); dialog.show(); } }
i think in if(tapcount == 3){ condition not using
((imageview)findviewbyid(r.id.imageview)).setimageresource(images[tapcount]); now changing stings not showing image 4
Comments
Post a Comment