3

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

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

button.setOnClickListener(new View.OnClickListener() {

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

});
4

2 回答 2

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" />

回到你的活动类,你只需实现那个方法

class YourClass{ 
   ....


  public void myCustomMethod(View v){
    // do something
  }
}
于 2013-06-24T07:58:03.487 回答
1
public void clickEvent(View v)
{
    switch(v.getID())
    {
        case R.id.ur_controlId:
            //do something...
            break;
    }
}

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

于 2013-06-24T07:54:58.813 回答