کلیدستان

نسخه‌ی کامل: مشکل در کد if برای تغییر عکس در یک ایمیج ویو (ImageView) (در اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
 سلام و خسته نباشید خدمت شما استاد گرامی.
من کد زیر رو با استفاده مطالب سایت شما و برخی از سایت های دیگه نوشته ام ولی درست کار نمی کنه.
توی این کد وقتی روی دکمه کلیک شد باید عکس دوم رو نمایش بده و عکس دوم رو نمایش میده اما دکمه دیگه کار نمی کنه و عکس سوم و یا چهارم رو نمایش نمی ده .
ممنون می شم بگین مشکل از کجاست؟

اینم از کد

کد پی‌اچ‌پی:
Button b1=(ButtonfindViewById(R.id.button1);
        
b1.setOnClickListener(new OnClickListener() {            
            @
Override
            
public void onClick(View arg0) {
                
// TODO Auto-generated method stub

                
if("img.setImageResource(R.drawable.dow_000" !=null){
                
ImageView img = (ImageViewfindViewById(R.id.imageView1);
               
img.setImageResource(R.drawable.dow_001);
                }
                else if(
"img.setImageResource(R.drawable.dow_001" != null)
                {
                     
ImageView img = (ImageViewfindViewById(R.id.imageView1);
                        
img.setImageResource(R.drawable.dow_002);
                        
                }else if(
"img.setImageResource(R.drawable.dow_002" != null)
                {
                     
ImageView img = (ImageViewfindViewById(R.id.imageView1);
                        
img.setImageResource(R.drawable.dow_003);
                }         
            }
        }); 
سلام فک میکنم این شکلی باشه بهتر کار کنه

Wink
کد پی‌اچ‌پی:
Button b1=(ButtonfindViewById(R.id.button1);
        
b1.setOnClickListener(new View.OnClickListener() {
            @
Override
            
public void onClick(View arg0) {
                
// TODO Auto-generated method stub
                
ImageView img = (ImageViewfindViewById(R.id.image);
                
int x ;
                if(
x==0){
                    
img.setImageResource(R.drawable.dow_001);
                    
x++;
                }
                if(
x==1)
                {
                    
img.setImageResource(R.drawable.dow_002);
                    
x++;

                }else if(
x==2)
                {
                    
img.setImageResource(R.drawable.dow_003);
                    
;
                }
            }
        }); 

موفق باشید
سلام.
اقا واقعا حق استادی گردنمون داری خدایی.
مثل اینکه کدی که من نوشتم کلا اشتباه بود.
مقاله ای چیزی راجع به این موضوع ندارین برم بخونم تا کد رو خودم هم بتونم به هر شکلی بنویسم؟
بازم ممنون
فقط یه مشکل دیگه الان فقط دوتا از عکسارو عوض میکنه و هنوز هم مثل کد اولیه عمل کردش.
می خواستم 8 تا تصویر رو با این روش نمایش بدم مثل گالری.
میشه برای اینکار از دستور سویچ استفاده کرد؟
اگه میشه لطفا بگین.چون تو دستور سویچ اولشو که می نویسم ارور میده منظورم شرط

کد پی‌اچ‌پی:
img.setImageResource(R.drawable.dow_003); 

هستش.
سلام مشکلم رو با زیر مجموعه نوشتن باتون ها حل کردم والا نمی دونم این کدی که من نوشتم اصولیه یا نه فقط اینجا هم می نویسمش تا اگه سایر کاربران هم به دردشون خورد ازش استفاده کنن.

با زدن هربار باتون 1 عکس ایمیج ویوو تغییر می کنه

کد پی‌اچ‌پی:
ImageView img = (ImageViewfindViewById(R.id.imageView1);
        
img.setImageResource(R.drawable.dow_000);
       
        
Button b1=(ButtonfindViewById(R.id.button1);
        
b1.setOnClickListener(new OnClickListener() {            
            @
Override
            
public void onClick(View arg0) {
                 
/// TODO Auto-generated method stub
                 
if("img.setImageResource(R.drawable.dow_000" !=null){
                 
ImageView img = (ImageViewfindViewById(R.id.imageView1);
                 
img.setImageResource(R.drawable.dow_001);
                  
///-----------CODE 01--------------
                  
Button b1=(ButtonfindViewById(R.id.button1);
                  
b1.setOnClickListener(new OnClickListener() {            
                  @
Override
                  
public void onClick(View arg0) {
                  
/// TODO Auto-generated method stub
                  
if("img.setImageResource(R.drawable.dow_001" !=null){
                  
ImageView img = (ImageViewfindViewById(R.id.imageView1);
                  
img.setImageResource(R.drawable.dow_002);
                  
///---------------code 02-------------------   
                  
Button b1=(ButtonfindViewById(R.id.button1);
                  
b1.setOnClickListener(new OnClickListener() {            
                  @
Override
                  
public void onClick(View arg0) {
                  
/// TODO Auto-generated method stub
                  
if("img.setImageResource(R.drawable.dow_002" !=null){
                  
ImageView img = (ImageViewfindViewById(R.id.imageView1);
                  
img.setImageResource(R.drawable.dow_003);
                  
///----------------code 03----------------------
                  
Button b1=(ButtonfindViewById(R.id.button1);
                  
b1.setOnClickListener(new OnClickListener() {            
                  @
Override
                  
public void onClick(View arg0) {
                  
/// TODO Auto-generated method stub
                  
if("img.setImageResource(R.drawable.dow_003" !=null){
                  
ImageView img = (ImageViewfindViewById(R.id.imageView1);
                  
img.setImageResource(R.drawable.dow_004);
                   
///--------------code 04---------------------
                  
Button b1=(ButtonfindViewById(R.id.button1);
                  
b1.setOnClickListener(new OnClickListener() {            
                  @
Override
                  
public void onClick(View arg0) {
                   
/// TODO Auto-generated method stub
                  
if("img.setImageResource(R.drawable.dow_004" !=null){
                  
ImageView img = (ImageViewfindViewById(R.id.imageView1);
                  
img.setImageResource(R.drawable.dow_005);
                  
///-------------------------code 05--------------------
                  
Button b1=(ButtonfindViewById(R.id.button1);
                  
b1.setOnClickListener(new OnClickListener() {            
                  @
Override
                  
public void onClick(View arg0) {
                  
// TODO Auto-generated method stub
                  
if("img.setImageResource(R.drawable.dow_005" !=null){
                  
ImageView img = (ImageViewfindViewById(R.id.imageView1);
                  
img.setImageResource(R.drawable.dow_006);
                  
///-----------------code 06-----------------
                  
Button b1=(ButtonfindViewById(R.id.button1);
                  
b1.setOnClickListener(new OnClickListener() {            
                    @
Override
                  
public void onClick(View arg0) {
                  
// TODO Auto-generated method stub
                  
if("img.setImageResource(R.drawable.dow_006" !=null){
                  
ImageView img = (ImageViewfindViewById(R.id.imageView1);
                  
img.setImageResource(R.drawable.dow_007);
                     
///-------------------code 07-----------------------
                  
Button b1=(ButtonfindViewById(R.id.button1);
                  
b1.setOnClickListener(new OnClickListener() {            
                  @
Override
                  
public void onClick(View arg0) {
                 
// TODO Auto-generated method stub
                  
if("img.setImageResource(R.drawable.dow_007" !=null){
                  
ImageView img = (ImageViewfindViewById(R.id.imageView1);
                  
img.setImageResource(R.drawable.dow_008);
                     
///------------ END -----------------------
       
}}});}}});}}});}}});}}});}}});}}});
 
                }
            }
        }); 
سلام خب میتونید از همین روش ایف و یا از سویچ استفاده کنید با همون کد بالا
چند ایتم بهش اضافه میکنید (فقط برای این که مقدار x با هر بار زدن دکمه عوض شه باید اونو خارج از دکمه قرار بدیم ) پس کدمون به این شکل :

کد پی‌اچ‌پی:
int x ;
Button b1=(ButtonfindViewById(R.id.button1);
b1.setOnClickListener(new View.OnClickListener() {
    @
Override
    
public void onClick(View arg0) {
        
// TODO Auto-generated method stub
        
ImageView img = (ImageViewfindViewById(R.id.image);

        switch(
x) {
        case 
:
            
img.setImageResource(R.drawable.dow_001);
            
x++;
            break;
        case 
:
            
img.setImageResource(R.drawable.dow_002);
            
x++;
            break;
        case 
:
            
img.setImageResource(R.drawable.dow_003);
            
x++ ;
            break;
        case 
:
            
img.setImageResource(R.drawable.dow_004);
            
x++;
        case 
:
            
img.setImageResource(R.drawable.dow_005);
            
0;
    }
}); 

که اینجا در کیس اخری مقدار x رو برابر 0 میکنیم تا بعد از اخرین تصویر ، تصویر بعدی از اول شروع شه
موفق باشید