Android监听button按钮的click事件
生活随笔
收集整理的這篇文章主要介紹了
Android监听button按钮的click事件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
方式一:
提供所有按鈕監聽事件入口,在OnClick方法中通過View.getId()獲取到發生點擊事件的按鈕Id,再進行相應的處理, 在頁面有多個按鈕的情況下比較適用。
package com.example.myapp;import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button;public class MainActivity extends Activity implements View.OnClickListener {private Button button1;private Button button2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1 = findViewById(R.id.button1);button2 = findViewById(R.id.button2);//注冊監聽器button1.setOnClickListener(this);button2.setOnClickListener(this);}@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.button1:onClickButton1(view);break;case R.id.button2:onClickButton2(view);break;default:break;}}private void onClickButton1(View view) {//處理邏輯}private void onClickButton2(View view) {//處理邏輯} }方式二:
按鈕注冊監聽器時直接實現監聽接口,即匿名內部類的方式實現。頁面只有單個按鈕時比較常用。
register_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if(TextUtils.isEmpty(userName_et.getText().toString()) || TextUtils.isEmpty(pwd_et.getText().toString())) {Toast.makeText(RegisterActivity.this, "用戶名密碼不能為空", Toast.LENGTH_LONG).show();return;}//注冊} });方式三:
自定義一個監聽器,實現View.OnClickListener接口.
class MyListener implements View.OnClickListener{@Overridepublic void onClick(View view) {//處理邏輯} }//還要在Activity中注冊自定義的監聽器 register_btn.setOnClickListener(new MyListener());方式四:
在XMl布局文件中的OnClick屬性直接注冊Activity中.需要使用public方法,底層會通過反射方式調用。
//XML布局文件: <ImageButtonandroid:layout_marginTop="50dp"android:layout_height="49dp"android:layout_width="55dp"android:layout_gravity="center"android:onClick="activate"/>//Activity中寫相應的處理方法,訪問權限是public: public void activate(View v) {Intent intentToActivate = new Intent();intentToActivate.setClass(this, LoginActivity.class);startActivity(intentToActivate); }參考鏈接:原文地址
總結
以上是生活随笔為你收集整理的Android监听button按钮的click事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 医院感染监测规范 ws/t312-200
- 下一篇: 葡萄浏览器平台是合法的吗(葡萄浏览器是不