私のAndroidアプリケーションでは、追加のフィールドを持つカスタムimageButtonを作成しました:
public class MyImageButton extends ImageButton {
private String _absolutePath;
public MyImageButton(Context context, String absolutePath) {
super(context);
this.setOnClickListener(clicker);
this.set_absolutePath(absolutePath);
}
...}
(必要なすべてのコンストラクターを追加しました。適切にコンパイルされています)。
この imageButton の XML は次のとおりです。
<my.package.MyImageButton
android:id="@+id/imageButton3"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="imageButtonPressed" />
問題は、ImageButton をクリックしたときのメソッドです。
public void imageButtonPressed(View view) {
Toast.makeText(this, ((MyImageButton)view).get_absolutePath(), 1).show();
}
MyImageButton の _absolutePath フィールドが null です。 問題は、元のビューで呼び出す変換 (キャスト) とネイティブ メソッドにあると思いますが、それを修正する方法がわかりません。
前もって感謝します!