2016-05-31 6 views
0

問題は次のとおりです...私はボタンとその周りのいくつかのものでクラスを作った。これで、オブジェクトを作成してこのボタンを画面に追加できます。例:Androidの同じクラスのすべてのボタンの個別のonclick

FloatingButton button = new FloatingButton(); 

私はこの3回を私の主な活動でやりました。したがって、私は今3つのボタンを持っています。問題は、それぞれのボタンに異なるonclickイベントを追加したいということです。だから、もし私がFloatingButtonクラスにonclickイベントを追加すると、すべてのボタンは同じことをするでしょう。だから私は主な活動からonclickイベントを設定する必要があります。それは可能ですか?

+0

これらはView.OnClickListenerという名前のインターフェイスで、ページ全体のクリック機能の実装に使用されます。このクリック機能では、ボタンを取得できます。 –

答えて

1

setOnClickListenerを使用すると、アクセス権のあるボタンに直接クリックリスナーを追加できます。したがって、あなたのケースでは、アクティビティの各ボタンをインスタンス化した後にリスナーを追加することができます。

例:

button.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 

       } 
      }) 
0

あなただけのワンクリックリスナーを使用し続けることができますし、ビューのIDを確認することができます。

final OnClickListener listener = new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
    switch (v.getId()){ 
     case R.id.button_1: 
     doButtonOne() 
     break; 
     case R.id.button_2: 
     doButtonTwo() 
     break; 
     ... 
    } 
    } 
}; 
0

ボタンを作成したときに別の名前を付けましたか?

FloatingButton buttonYes = new FloatingButton(); 
FloatingButton buttonNo = new FloatingButton(); 

次に、ボタンを押したときに実行するコードで作成した各ボタンに対してsetOnClickListenerを使用します。

buttonYes.setOnClickListener(...) 
buttonNo.setOnClickListener(...) 

これにより、異なるボタンを押すと異なる結果が生じることがあります。

関連する問題