2016-11-15 4 views
0

私は自分のプロジェクトにAndroidアノテーションを使用しています。 コードで作成されたボタンにイベントを追加しようとしています。Androidアノテーション - コードで作成されたアイテムのイベントバインド

私はいくつかのボタンがあり、このような何かを持っているために、それらにフォーカス変更イベントを追加しよう:

@FocusChange(?) 
protected void buttonFocusChanged(View btn, boolean hasFocus) { 
//Some cool animation 
} 

このサンプルコードは動作しません、私のボタンは任意のリソースIDを持っていないので、リソースIDなしで注釈を使用する方法を見つけることができます。

私はこのために注釈を使用でき、または私が「正常な」方法を使用し、各ボタンのためにこれを行う必要があります。

beautifulButton.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
    @Override 
    public void onFocusChange(View view, boolean b) { 
    //Some ugly animation 
    } 
}); 

感謝。

答えて

0

もちろん注釈付きのものを使用できます。イベントリスナは、Activityの場合はonCreate()に、Fragmentの場合はonViewCreated()に追加されます。

+0

ご返信ありがとうございます。しかし、上記のコードを記述すると、Androidアノテーションの回避策が原因でエラーが発生しました。私は動的に作成されたボタンのIDを持っていないので、 '@FocusChange(R.id.mybuttonID)'メソッドや他のメソッドを使用することはできません。 "コードサンプルで)、同じ問題、ボタンにはIDがありません。 – DerMth

+0

ボタンにIDがない場合は、アノテーションを使用できません。 – WonderCsabo

+0

ありがとうWonderCsabo! – DerMth

関連する問題