在Android中设置按钮的“OnClickListener”的不同方法

时间:2013-06-24 07:51:49

标签: android button onclicklistener

除了以下方法之外,还有其他方法来设置按钮的OnClickListener,例如通过XML吗?

final Button button = (Button) findViewById(R.id.button_id);

button.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        // Handle click event.
    }

});

2 个答案:

答案 0 :(得分:5)

1)您必须在此选项中实现OnClickListener,然后实现其抽象方法onClick(View)

class YourClass implements OnClickListener {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);     
    setContentView(R.layout.your_activity);
    final Button button = (Button) findViewById(R.id.button_id);
    button.setOnClickListener(this);
   }

   public void onClick(View v) {
            //do something
   }
}

2)另一个选项,您还可以指定Button将从layout.xml文件启动的方法。你只需要做这样的事情:

your_layout.xml

<Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="myCustomMethod" />

回到你的acitivity类,你只需要实现那个方法

class YourClass{ 
   ....


  public void myCustomMethod(View v){
    // do something
  }
}

答案 1 :(得分:1)

public void clickEvent(View v)
{
    switch(v.getID())
    {
        case R.id.ur_controlId:
            //do something...
            break;
    }
}

在xml中声明onclick属性,并将值提供为 clickEvent