我想将存储在数组列表中的图像显示到 ImageView 。我正在使用毕加索库来存储链接。当我按下下一步按钮时,我希望图片更改为下一个图像。我正在使用for 循环,但我只得到最后一个元素。这是代码:
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);
}}
最佳答案
每次单击按钮“bnext”时,您都会执行整个 for 循环,因此只会显示列表的最后一个元素。尝试:
int i = 0;
bNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(i<ll.size()){
sp(ll.get(i),image1);
i++;
}
}
});
关于java - Android Studio 在 ImageView 上显示 Arraylist 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42497890/