Android:在许多按钮上使用相同的OnClickListener

Android:在许多按钮上使用相同的OnClickListener,android,onclicklistener,android-button,Android,Onclicklistener,Android Button,我试图在一个片段的多个按钮上设置相同的OnClickListener 所以我试着让听者在课堂上占上风,比如 public class SigninUserInsurance extends Fragment { Button.OnClickListener thisListener = new Button.OnClickListener(){ @Override public void onClick(View v){

我试图在一个片段的多个按钮上设置相同的OnClickListener

所以我试着让听者在课堂上占上风,比如

public class SigninUserInsurance extends Fragment {

       Button.OnClickListener thisListener = new Button.OnClickListener(){
             @Override
             public void onClick(View v){
                    .....
             }
       }
但是,我想保存按钮的文本。(button.getText()

但是在。。。第节

因为thisListener没有开关按钮,它只有视图

我不能调用getText()。v、 getText()不存在

例如,我在…中尝试了我的代码。。。第节如下:

 preferenceEditor.putString("User Insurance", Button.getText());
 preferenceEditor.commit();
 activity.fragChanger(4);
在第一行,无法调用Button.getText(),因为thisListener会调用Button.getText()

没有按钮信息


有没有办法不实现每个10~20个按钮各自的侦听器???

您可以这样定义侦听器对象:

  View.OnClickListener thisListener = new View.OnClickListener() {
    public void onClick(View v) {
        Button button = (Button) v;
        switch (v.getId()) {
            case R.id.button1:
                 preferenceEditor.putString("User Insurance", button.getText());
                 preferenceEditor.commit();
                 activity.fragChanger(4); 
                 break;
            case R.id.button2:
                // 
                break;
            //...............
        } 
    }
  }
并将此侦听器设置为所有按钮:

button1.setOnClickListener(thisListener);
button2.setOnClickListener(thisListener);
..........................................

你刚刚救了一个开发者