tôi vừa thêm một thư mục có thể kéo mới trong thư mục res. Trong thư mục drawable, tôi đã sao chép tập tin ic_launcher.png từ thư mục drawable-hdpi. Tôi muốn thay đổi hình ảnh ImageButton chuẩn thông qua hình mới khi tôi nhấn nút. Tôi đã viết một số mã, nhưng khi tôi bắt đầu ứng dụng nó bị treo.android Imagebutton thay đổi Hình ảnh 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);
}
};
EDIT: Tôi đã thay đổi điều này và điều này cũng không hoạt động.
@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);
}
};
CHỈNH SỬA 2: CÔNG TRÌNH NÀY. Cảm ơn tất cả.
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);
}
};
Bạn nên dán ở đây lỗi của bạn từ logcat. – hsz
NullpointerException coz imgButton là null ... bạn có thể truyền Xem v sang Nút hoặc đặt imgButton sau setContentView ... – Selvin
Chỉnh sửa của bạn là câu trả lời của tôi và hoạt động! – Carnal