как сравнивать ресурсы в андроиде - PullRequest
2 голосов
/ 08 февраля 2011

Как я могу сравнить два ресурса в Android?

 if(newButton.getBackground()!=getResources().getDrawable(R.drawable.addbutton)){
        newButton.setBackgroundResource(R.drawable.deletebutton);

        }
        else{
            newButton.setBackgroundResource(R.drawable.addbutton);

        }

Я хочу менять фон кнопки при каждом нажатии ..

Ответы [ 2 ]

1 голос
/ 08 февраля 2011

Конечно, findViewById возвращает View, not Drawable.

Вы можете попробовать getResources().getDrawable(R.drawable.addbutton);

Я думаю, ваш путь плохой.В описанной ситуации вы можете сохранить состояние кнопки (идентификатор фонового ресурса или чего-то еще) в ее теге, а затем проанализировать его в коде.http://developer.android.com/reference/android/view/View.html#setTag(java.lang.Object)

0 голосов
/ 08 февраля 2011

Попробуйте этот код:

newButton = (кнопка) findViewById (R.id.newlist);if (newList.getBackground ()! = (findViewById (R.drawable.addbutton)). getBackground ()) {newButton.setBackgroundResource (R.drawable.deletebutton);}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...