2012-01-11 4 views
1

私はリスナーとは別のファイルを持っています。 私は、XMLのAndroidを使用して、ボタンにそのリスナーを添付したい:のonClick、しかしcompilling後、私はエラー別のクラスからxmlレイアウトへのonClickListenerの追加

01-11 14:35:35.560: E/AndroidRuntime(4682): java.lang.IllegalStateException: Could not find a method Btnlistener(View) in the activity class com.android.app.Activity for onClick handler on view class android.widget.Button with id 'btn1' 

を取得するには、私は、Androidを使用することができますように、私のリスナクラスをインポートする任意の派手な方法はあります:のonClick in xml。

+2

ありません。コールバックがリスナーの場合は、javaで追加する必要があります。 xmlであなたのアクティビティの関数であるcallbakcを追加することができます – njzk2

答えて

4

は、私がお勧めです:

はを持っています通常の方法では、あなたのリスナーのためのコード、

public void buttonClicked(View view) { 
    // put here what your listener did 
} 

とそして、このリスナーextends BaseActivityを必要とするすべてのあなたの活動を行います。あなたのレイアウトにボタンのための以下のxml要素を定義することができます:

android:onClick="buttonClicked" 
+0

ええ、私の解決策よりも優れているようですが、おそらくこれを実装しています。 – Drake29a

0

あなたがXMLでXMLとは、例えば、方法として、onClickイベントを宣言しなければなりません膨らまアクティビティクラスのonClickを設定する:XMLに

を:

onClick="btnAdd" 

とあなたの活動中:

ここで
public void btnAdd(View v){ 
//your code when the button click event is captured 
} 
+0

他の方法でそれを処理しました... クリックしたボタンにonClickListenerを設定するアクティビティでハンドルを追加し、少しよかった:) – Drake29a

+0

whats that ....? – waqaslam

+0

まあ、私は複数のアクティビティを持っているので、私は外部リスナークラスを作って、どのアクティビティでも分離したクラスを作らないようにしたいと思っていました。 しかし、とにかく助けを求めるthx。 – Drake29a

関連する問題