2013-04-24 4 views
3

У меня есть Button с drawableLeft, и когда я нажимаю на него, я хочу изменить только drawableleft для другого изображения. Какой код java мне нужно использовать?Сменить кнопку drawableLeft при нажатии кнопки

XML:

<Button 
    android:id="@+id/docli_btn_apagar" 
    android:layout_width="200dp" 
    android:layout_height="70dp" 
    android:background="@android:color/transparent" 
    android:onClick="ApagarLinha" 
    android:drawableLeft="@drawable/trash" 
    android:text="@string/apagar" 
    android:textAppearance="?android:attr/textAppearanceLarge"/> 
+0

Давай, вы можете придумать бит собственного кода, нет? –

+0

Вы имеете в виду нажимаете другое изображение, и когда вы отпускаете кнопку назад к оригиналу, выбирая, правильно? – Pratik

+0

no Pratik, после щелчка Я хочу, чтобы изображение изменилось – Celta

ответ

6

Это будет называться в вашем баттоне onClick() обработчика

// get your button 
Button docli_btn_apagar = (Button) findViewById(R.id.docli_btn_apagar); 

// get the drawable 
Drawable img = getContext().getResources().getDrawable(R.drawable.smiley); 

// set the drawable left 
docli_btn_apagar.setCompoundDrawablesWithIntrinsicBounds(img, null, null, null); 

Или в качестве альтернативы:

// You can skip the drawable object directly, by using ints/IDs 
docli_btn_apagar.setCompoundDrawablesWithIntrinsicBounds(R.drawable.smiley, 0, 0, 0); 
+0

wow, это сработало, как я хотел, спасибо – Celta

+0

@ Celta рад, что я мог бы помочь. Не забудьте дать ему преимущество! –

0
public class AsyncClassTest extends Activity { 

String strMessage; 
private Button button; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    button = (Button) findViewById(R.id.docli_btn_apagar); 
    button.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      ((Button) view).setCompoundDrawables(getResources().getDrawable(android.R.drawable.btn_plus), null, null, null); 
     } 
    }); 
} 
} 
Смежные вопросы