Button監聽點擊事件的五種方式
阿新 • • 發佈:2018-08-21
per amp 其中 show java new mpat vat ati
常用方式為匿名類和本類監聽的方法。其中本類監聽方法需要繼承View.OnClickListener接口之後,重寫onClick方法。
PS:重寫某一個方法的快捷鍵為Ctrl+O
package com.example.kimberjin.reviewpro; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.Toast; /** * Created by KimberJin on 2018/7/25. */ public class ButtonListenerTest extends AppCompatActivity implements View.OnClickListener{ private Button btn1, btn2, btn3, btn4, btn5; //btn5是布局監聽,需要在對應的xml文件中設置onClick屬性,其後跟一個函數名。 //然後在MainActivity中實現函數 @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_button); btn1 = (Button)findViewById(R.id.my_Btn1); btn2 = (Button)findViewById(R.id.my_Btn2); btn3 = (Button)findViewById(R.id.my_Btn3); btn4 = (Button)findViewById(R.id.my_Btn4); btn5 = (Button)findViewById(R.id.my_Btn5); //內部類監聽 btn1.setOnClickListener(new BtnClick()); //外部類監聽 btn2.setOnClickListener(new MyButtonListener()); //本類監聽 btn3.setOnClickListener(this); //匿名類監聽 btn4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(getBaseContext(), "匿名類監聽", Toast.LENGTH_SHORT).show(); } }); } class BtnClick implements View.OnClickListener { @Override public void onClick(View view) { Toast.makeText(getBaseContext(), "內部類監聽", Toast.LENGTH_SHORT).show(); } } @Override public void onClick(View view) { Toast.makeText(this, "本類監聽", Toast.LENGTH_SHORT).show(); } public void getInfo(View view) { Toast.makeText(getBaseContext(), "布局監聽", Toast.LENGTH_SHORT).show(); } } class MyButtonListener extends ButtonListenerTest implements View.OnClickListener{ @Override public void onClick(View view) { Toast.makeText(view.getContext(), "外部類監聽", Toast.LENGTH_SHORT).show(); } }
Button監聽點擊事件的五種方式