以下に示すように、Java のビューに OnClick リスナーを割り当てています。
public class MenuButton extends Fragment {
MenuButton self = this;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
MenuButton button = self;
});
}
}
}
メニューボタンへの参照を取得し、それを onTouch メソッドで何かに使用したい (私が考える問題とは何の関係もない)。クラスのメソッド (getApplication() など) を呼び出すことができることはわかっていますが、匿名の OnTouchListener が宣言されているオブジェクトへの参照が特に必要です。
ご覧のとおり、私は解決策を見つけました!MenuButton self = this; ライン。
これを行う適切な方法はありますか、それとも私のやや奇妙な解決策がそれを行う唯一の方法ですか?