2017-02-27 15 views
0

arraylistに保存されている画像をimageviewに表示したいと思います。リンクを保存するためにpicassoライブラリを使用しています。次に画像を変更したいボタンを押します。あなたがあなたの全体のループのために、したがって、のみを通過している「bnext」ボタンをクリックするAndroid StudioのImageViewにArraylistの要素を表示

ImageView image1; 

Button bNext, 
ArrayList<String>ll=new ArrayList<>(); 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_fwtografies); 
    image1=(ImageView)findViewById(R.id.image1); 
    bNext=(Button)findViewById(R.id.bNext); 
    ll.add("http://i.imgur.com/QoUeA2I.jpg"); 
    ll.add("http://i.imgur.com/21szRz9.jpg"); 
    ll.add("https://upload.wikimedia.org/wikipedia/en/e/ec/Clip_Poster.jpg"); 

    bBack.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent fwtografiesActivityIntent = new Intent(Fwtografies.this,MainActivity.class); 
      Fwtografies.this.startActivity(fwtografiesActivityIntent); 
     } 
    }); 
    bNext.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      for(int i=0;i<ll.size();i++){ 
       sp(ll.get(i),image1); 
      } 
     } 
    }); 
    bPrevius.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      viewFlipper.showPrevious(); 
     } 
    }); 

    sp("http://i.imgur.com/gijIKJO.jpg",image1); 
    //sp("http://i.imgur.com/QoUeA2I.jpg",image2); 
    //sp("http://i.imgur.com/21szRz9.jpg",image3); 
} 

public void sp(String a,ImageView b){ 
    Picasso 
      .with(getApplicationContext()) 
      .load(a) 
      .into(b); 
}} 

答えて

0

私のミスは私がなステートメント場合は使用すべきループのために使用されているものです。 このコードは、私の場合のために働く:、

int i=0; bNext.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      //viewFlipper.showNext(); 
      if(i<ll.size()){ 
       sp(ll.get(i),image1); 
       i++; 
      }` 
1

毎回:次image.Iは、forループを使用していますが、私は最後element.Hereを取得すると、コードでありますリストの最後の要素が表示されます。試してみてください:

int i = 0;  
bNext.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
       if(i<ll.size()){ 
       sp(ll.get(i),image1); 
       i++; 
       } 
     } 
    }); 
+0

この1が仕事をしているが、ループIFOR 1 – Kostasfra

+0

ループは1 1によって全ての要素を取得することにより、代わりに1のすべての要素を取得しますなぜ私は理解できないが、それはあなたがそれを見ることができないほど速く起こります。 –

+0

私は間違いを見つけました。私はクリックするたびに止めることができないので使用しないでください。私はそれを管理するために使用しなければなりません – Kostasfra

関連する問題