これは初心者の質問に違いありませんが、次のことを達成するための適切な待機が見つかりません。
Android では、View クラスを拡張するサブクラス MyView を作成しました。B では、View クラスに存在しないメソッド mMethod を定義しました。
ここで、MyView に OnClickListener インターフェイスを設定したいと思います。これを行うには、新しい OnClickListener を定義するときに onClick メソッドをオーバーライドする必要があります。さらに、onClick で mMethod メソッドにアクセスしたいのですが、オーバーライドされたメソッドは、MyView のインスタンスではなく、View クラスのインスタンスを想定しています。それで、なにかお手伝いできますか ?
より正確には:
public class MyView extends View{
...
public void mMethod(){
...
}
}
そしてメインクラス(Activity)で
MyView myView = new MyView ()
//It's not the correct constructor, but it's not the point
myView.setOnClickListener(new OnClickListener(){
@Override
public boolean onClick(View v){
//Here I would like to access mMethod of MyView
???
}
}
使用するmyView.mMethod()
ことが唯一の解決策ですか? にダウンキャストv
することは可能(MyView)v
ですか? もしそうなら、それを行う方法は?サブインターフェースを定義する必要がありますか?
ありがとうございました!