Reputation: 37
I have button which starts the same activity. How can I get next image from array, after start activity? Here is code of button
Button btnNext = (Button) dialog.findViewById(R.id.btnNext);
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
finish();
startActivity(getIntent());
}
});
Here is array
int[] array_images = {
R.drawable.apple,
R.drawable.p_dolor
};
Upvotes: 1
Views: 84
Reputation: 173
You can do this:
int index = 0;
int[] array_images = {R.id.image1, R.id.image2};
Button btnNext = (Button) dialog.findViewById(R.id.btnNext);
ImageView imageView = (ImageView)findViewById(R.id.myImage);
setImageRes(getIntent().getIntExtra());
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
index = getIntent().getIntExtra();
dialog.dismiss();
finish();
Intent intent = new Intent(this,CallActivity.class);
intent.putExtra("position",index++);
}
});
private void setImageRes(int position){
imageView.setResource(array_images[position])
}
Upvotes: 0
Reputation: 455
You can try the below one you have to manage array indexing for that like below:-
int index = 0;
int[] array_images = {R.id.image1, R.id.image2, R.id.image3, R.id.image4};
Button btnNext = (Button) dialog.findViewById(R.id.btnNext);
ImageView imageView = (ImageView)findViewById(R.id.myImage);
setImageRes();
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
setImageRes();
}
});
private void setImageRes(){
index++;
if(index < array_images.lenght){
imageView.setResource(array_images[index])
}
}
Upvotes: 0
Reputation: 3584
Why you exactly want to restart activity every-time, You can just change your resource on button click without Restarting the activity. For example -
int index = 0;
int[] imgRes = {R.id.image1, R.id.image2, R.id.image3, R.id.image4};
Button btnNext = (Button) dialog.findViewById(R.id.btnNext);
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
updateImage();
}
});
private void updateImage(){
index++;
if(index >= imgRes.lenght)
index = 0;
ImageView imageView = findViewById(R.id.myImage);
imageView.setResource(imgRes[index])
}
Hope it will help :)
Upvotes: 1