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

Ami*_*mir 3 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.
    }

});
Run Code Online (Sandbox Code Playgroud)

小智 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
   }
}
Run Code Online (Sandbox Code Playgroud)

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" />
Run Code Online (Sandbox Code Playgroud)

回到你的acitivity类,你只需实现该方法

class YourClass{ 
   ....


  public void myCustomMethod(View v){
    // do something
  }
}
Run Code Online (Sandbox Code Playgroud)