resフォルダの下に新しいdrawableフォルダを追加しました。 drawableフォルダでは、drawable-hdpiフォルダからic_launcher.pngファイルをコピーしました。 私はボタンを押すと、標準のImageButtonイメージを新しいイメージから変更したいと思う。私はいくつかのコードを書いたが、私がアプリを起動するとクラッシュする。android Image button変更画像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);
}
};
編集:これも変更されていますが、これも機能しません。
@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);
}
};
EDIT 2:この作品。ありがとうございます。
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);
}
};
あなたはlogcatからここにあなたのエラーを貼り付ける必要があります。 – hsz
NullpointerException coz imgButtonがnullの場合... ViewVをButtonにキャストしたり、setContentViewの後にimgButtonを設定したりできます。 – Selvin
あなたの編集は私の答えです。 – Carnal