2014-01-04 4 views
-1

Я меняю ImageView фон для изменения при каждом нажатии button. Я попытался переключить setBackGround на setImageResource, но это заставляет меня изменить изображение на константу. Я не знаю, поможет ли imageview константа или если есть другой способ сделать это.Изменение изображения во время работы приложения?

Это то, что у меня есть до сих пор.

ImageView img = (ImageView) findViewById(R.id.imageView1); 
    Button button = (Button) findViewById(R.id.dummy_button); 
    button.setOnClickListener(new OnClickListener(){ 
     @Override 
     public void onClick(View v) { 

      img.setImageResource(R.drawable.ic_launcher); 
     } 
    }); 

ответ

0

попробовать это:

Button button = (Button) findViewById(R.id.dummy_button); 
button.setOnClickListener(new OnClickListener(){ 
@Override 
    public void onClick(View v) { 
    ImageView img = (ImageView) findViewById(R.id.imageView1); 
    img.setImageResource(R.drawable.ic_launcher); 
    } 
}); 
0

Try setImageResource вместо:

img.setImageResource(R.drawable.drawablename); 

Для изменения изображения каждый раз, когда:

Сначала объявить массив imageIds

public Integer[] imageIds = { 
     R.drawable.image1, R.drawable.image2, 
     R.drawable.image3 
}; 

затем на ваш метод OnClick

int i = 0; 
    img.setImageResource(imageIds[i]); 
    i = i+1; 

С этим при первом щелчке он получает элемент 1, тогда я стану 1. Второй раз, когда вы нажмете, изображение станет вторым, а i станет 2. Если вы хотите получить случайное один раз каждый раз. Вам нужно объявить случайный.

Смежные вопросы