کلیدستان

نسخه‌ی کامل: نمایش چند عکس مختلف پشت سر هم با زدن یک button روی یک imageview (اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با عرض سلام خدمت اساتید محترم
ببخشید من میخواستم با زدن یک button تعدادی عکس از drawable روی یک imageview نمایش دهم از حلقه for استفاده کردم ولی فقط عکس آخرین دور حلقه روی imageview نمایش داده میشه لطفا اگه میتونین کمکم کنین ممنون میشم.
با استفاده از یک تابع جدا هم خارج از button استفاده کردم باز همین نتیجه رو گرفتم. فقط عکس آخر نمایش داده میشه.

 این دستورات کلیده

کد پی‌اچ‌پی:
        btn2.setOnClickListener(new OnClickListener(){
            public 
void onClick(View arg0) {
                
                
                
int max=24;
                
int min=10;
                
        

            
Random r = new Random();
            
int T r.nextInt(max min 1) + min;
            
            
            
            
            
    for(
int i=1i<=T;i++){
                
int max1=24;
                
int min1=1;
                
Random r1 = new Random();
                
int T1 r1.nextInt(max1 min1 1) + min1;
                
pic_number[i]=T1;
                
    }
    

    if(
pic_number[0]!=0){
    
pic_show(pic_number[1]);
      }
    
    if(
pic_number[1]!=0){
    
pic_show(pic_number[2]);
      }
    
    if(
pic_number[2]!=0){
    
pic_show(pic_number[3]);
      }
    
    if(
pic_number[3]!=0){
    
pic_show(pic_number[4]);
      }
    
    if(
pic_number[4]!=0){
    
pic_show(pic_number[5]);
      }
    
    if(
pic_number[5]!=0){
    
pic_show(pic_number[6]);
      }
    
    if(
pic_number[6]!=0){
    
pic_show(pic_number[7]);
      }
    
    if(
pic_number[7]!=0){
    
pic_show(pic_number[8]);
      }
    
    if(
pic_number[8]!=0){
    
pic_show(pic_number[9]);
      }

    
    if(
pic_number[9]!=0){
    
pic_show(pic_number[10]);
      }    
    
    
    if(
pic_number[10]!=0){
    
pic_show(pic_number[11]);
      }
    
    if(
pic_number[11]!=0){
    
pic_show(pic_number[12]);
      }
    
    if(
pic_number[12]!=0){
    
pic_show(pic_number[13]);
      }

    
    if(
pic_number[13]!=0){
    
pic_show(pic_number[14]);
      }
    
    if(
pic_number[14]!=0){
    
pic_show(pic_number[15]);
      }
    
    if(
pic_number[15]!=0){
    
pic_show(pic_number[16]);
      }

    
    if(
pic_number[16]!=0){
    
pic_show(pic_number[17]);
      }
    
    if(
pic_number[17]!=0){
    
pic_show(pic_number[18]);
      }
    
    if(
pic_number[18]!=0){
    
pic_show(pic_number[19]);
      }
    
    if(
pic_number[19]!=0){
    
pic_show(pic_number[20]);
      }
        
    if(
pic_number[20]!=0){
    
pic_show(pic_number[21]);
      }
        
    if(
pic_number[21]!=0){
    
pic_show(pic_number[22]);
      }
        
    if(
pic_number[22]!=0){
    
pic_show(pic_number[23]);
      }

        
    if(
pic_number[23]!=0){
    
pic_show(pic_number[24]);
      }


    
    }
            }); 

اینم تابع جدا

[/i]
کد پی‌اچ‌پی:
    private void pic_show (int n){
        
        
        if(
n==1){

img.setImageResource(R.drawable.a01);

p01+=1;
        }
        
        
        
        if(
n==2){

img.setImageResource(R.drawable.a02);

p02+=1;
        }
        
        
        
        if(
n==3){

img.setImageResource(R.drawable.a03);

p03+=1;
        }
        
        
        
        if(
n==4){

img.setImageResource(R.drawable.a04);

p04+=1;
        }
        
        
        
        if(
n==5){

img.setImageResource(R.drawable.a05);

p05+=1;
        }
        
        
        
        if(
n==6){

img.setImageResource(R.drawable.a06);

p06+=1;
        }
        
        
        
    
        if(
n==7){

img.setImageResource(R.drawable.a07);

p07+=1;
        }
        
        
        
        
        
        if(
n==8){

img.setImageResource(R.drawable.a08);

p08+=1;
        }
        
        
        
        if(
n==9){

img.setImageResource(R.drawable.a09);

p09+=1;
        }
        
        
        
        
        
        if(
n==10){

img.setImageResource(R.drawable.a10);

p10+=1;
        }    
        
        
        
        
        
        if(
n==11){

img.setImageResource(R.drawable.a11);

p11+=1;
        }
        
        
        
        if(
n==12){

img.setImageResource(R.drawable.a12);

p12+=1;
        }
        
        
        
        
        if(
n==13){

img.setImageResource(R.drawable.a13);

p13+=1;
        }
        
        
        
        
        if(
n==14){

img.setImageResource(R.drawable.a14);

p14+=1;
        }
        
        
        
        
        
        if(
n==15){

img.setImageResource(R.drawable.a15);

p15+=1;
        }
        
        
        
        if(
n==16){

img.setImageResource(R.drawable.a16);

p16+=1;
        }
        
                    
        
        if(
n==17){

img.setImageResource(R.drawable.a17);

p17+=1;
        }
        
        
        
        
        
        if(
n==18){

img.setImageResource(R.drawable.a18);

p18+=1;
        }

        
        
        
        
        if(
n==19){
ImageView img = (ImageViewfindViewById(R.id.imageView1);
img.setImageResource(R.drawable.a19);

p19+=1;
        }
        
        
        
        
        
        if(
n==20){

img.setImageResource(R.drawable.a20);

p20+=1;
        }
        
        
        
        
        
        if(
n==21){

img.setImageResource(R.drawable.a21);

p21+=1;
        }                
        
        
        
        
        if(
n==22){

img.setImageResource(R.drawable.a22);

p22+=1;
        }                
        
        
        
        
        if(
n==23){

img.setImageResource(R.drawable.a23);

p23+=1;
        }
        
        
        
        
        
        
        if(
n==24){

img.setImageResource(R.drawable.a24);

p24+=1;
        }
        
        
SystemClock.sleep(1000);

        
        
    } 
سلام.
فرصت نکردم کدهاتون رو کامل بخونم، ولی نکته زیر را در نظر داشته باشید :
شما از دستور زیر برای توقف بین نمایش عکس ها استفاده کرده اید :

کد پی‌اچ‌پی:
SystemClock.sleep(1000); 

به جای آن، از روش شرح داده شده در کلید زیر استفاده کنید :

کلید شماره 2610

--------------------------------------------------

در ضمن، سعی کنید که کدنویسی اضافه نداشته باشید (اگر 1000 تا عکس داشته باشیم، احتمالا 2000 خط کد باید اضافه کنید، زیرا شیوه کدنویسی غلط است). مثلا نام عکس ها دارای پیشوند ثابت و پسوند عددی متغیر است، پس کدها را به گونه ای بنویسید که شماره متناظر با عکس، دریافت شده و بعد نام عکس را ساخته و آن را در ImageView نماش بدهید.