ho appena aggiunto una nuova cartella drawable nella cartella res. Nella cartella drawable ho copiato il file ic_launcher.png dalla cartella drawable-hdpi. Voglio cambiare l'immagine ImageButton standard con quella nuova quando premo il pulsante. Ho scritto del codice, ma quando avvio l'app si blocca.android Imagebutton cambia immagine OnClick
Button imgButton;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.imgButton).setOnClickListener(imgButtonHandler);
}
View.OnClickListener imgButtonHandler = new View.OnClickListener() {
public void onClick(View v) {
imgButton.setBackgroundResource(R.drawable.ic_launcher);
}
};
MODIFICA: l'ho modificato e anche questo non funziona.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgButton = (Button) findViewById(R.id.imgButton);
imgButton.setOnClickListener(imgButtonHandler);
}
View.OnClickListener imgButtonHandler = new View.OnClickListener() {
public void onClick(View v) {
imgButton.setBackgroundResource(R.drawable.ic_launcher);
}
};
MODIFICA 2: FUNZIONA. Grazie a tutti.
ImageButton button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button= (ImageButton)findViewById(R.id.imgButton);
button.setOnClickListener(imgButtonHandler);
}
View.OnClickListener imgButtonHandler = new View.OnClickListener() {
public void onClick(View v) {
button.setBackgroundResource(R.drawable.ic_launcher);
}
};
Si dovrebbe incollare qui il tuo errore dal logcat. – hsz
NullpointerException coz imgButton è null ... puoi lanciare View v to Button o impostare imgButton dopo setContentView ... – Selvin
La tua modifica è la mia risposta, e questo funziona! – Carnal