2016-12-21 1 views
1

У меня есть кнопка, которая переключается между 2 изображениями в зависимости от количества кликов ... Иногда я получаю после выхода из операции и возвращения, оба изображения показывают. Как убедиться, что отображается только 1 изображение?Как очистить фоновое изображение при переключении изображений в android

Вот код для обмена:

public void swapImageButton() { 
    swapCount ++; 
    if(swapCount % 2 == 0) { 
     mStomachImageButton.setBackground(getDrawable(image1)); 
     mFartImageButton.setBackground(getDrawable(image2)); 
    } else { 
     mStomachImageButton.setBackground(getDrawable(image2)); 
     mFartImageButton.setBackground(getDrawable(image1)); 
    } 
} 
+2

вы должны попробовать изображения переключатель –

+2

, если вы хотите, чтобы очистить фон, чем набор 'img.setImageBitmap (NULL);' –

+0

использовать флаги с sharedpreferences – Ranjit

ответ

0

Используйте статическую переменную для подсчета.

static int count=0; 

public void swapImageButton() { 

    if(count == 0) { 
     //show you image when clicked first time 
     count=1; 
    } else { 
     //show you image when clicked second time 
     count=0; 
    } 
} 
0

Два лучших способов, чтобы сохранить состояние контроля являются:

  • Сохранить "swapCount" в пачке. Проверить Activity lifecycle

  • Preferences для вашей деятельности, где вы можете сохранить «swapCount»

Я бы с расслоением, но требует понимания жизненный цикл деятельности. Кстати, избегайте идеи статической переменной.