2013-09-22 3 views
1

У меня есть ImageButton, и когда я нажимаю на него, я хотел бы изменить изображение, но только если это специальное изображение (по умолчанию оно фактически).Android: Как получить src изображенияButton

Мой XML:

<ImageButton 
android:id="@+id/button1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:contentDescription="@string/button1" 
android:src="@drawable/imgdefault" /> 

И у меня есть слушатель на нем:

public OnClickListener button1Listener = new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
      if (button1.getDrawable().equals(getResources().getDrawable(R.drawable.imgdefault))) { 
       button1.setImageResource(R.drawable.newImg); 
    } 
} 

Но мне кажется, что мой "если" никогда не верно. Поэтому я могу проверить, все ли это изображение по умолчанию в ImageButton?

Благодарим за помощь.

ответ

2

Есть много способов сделать это, один, который приходит мне на ум:

Boolean clicked = new Boolean(false); 
button1.setTag(clicked); // wasn't clicked 
button1.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
      if(((Boolean)button1.getTag())==false){ 
       button1.setImageResource(R.drawable.newImg); 
       button1.setTag(new Boolean(true)); 
      } 
    } 
}); 
+0

Thx за Ваш ответ, но мне кажется, что это не представляется возможным отлиты из объекта в булево? – Fabaud

+0

Правильно, просто заглавные буквы B. Я собираюсь отредактировать ответ. –

+1

Он работает с «Boolean»! Большое спасибо ! – Fabaud

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