日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android_安卓为按钮控件绑定事件的五种方式

發布時間:2023/12/18 Android 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android_安卓为按钮控件绑定事件的五种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在最前面

    本次,來介紹一下安卓中為控件--Button綁定事件的五種方式。

二、具體的實現

    第一種:直接綁定在Button控件上:

        步驟1.在Button控件上設置android:onClick=",其中這個屬性的屬性值對應的是MainActivity類中的方法名字(自己創建的方法):

            

         步驟2.在MainActivity類中創建相對應的方法:

public void demo(View view){Toast.makeText(MainActivity.this, "第二個按鈕被點擊了",Toast.LENGTH_SHORT).show();}

?

?     

?

    ?第二種:使用匿名內部類的方式:

         步驟1.首先需要獲取到 layout 中布局頁面的Button控件中指定的Id:

         步驟2.之后為這樣按鈕綁定監聽器,使用匿名內部類的方式,代碼如下:

    button = (Button)findViewById(R.id.button1);button.setOnClickListener(new OnClickListener() { @Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this, "通過匿名內部類:第一個按鈕被點擊了",Toast.LENGTH_SHORT).show();}});

?

       

     

     第三種:使用外部類的方式

          步驟1.需要獲取到 layout 布局頁面中的Button控件中指定的Id(在MainActivity中): 

??????????         

          步驟2.創建一個類,并且實現 OnClickListener 接口,重寫這個接口中的 OnClick 方法,并且為這個方法創建一個 Context 屬性(之后的Toast需要使用到),使用構造器設置這個屬性值:

package com.mqz.android_event_test;import android.content.Context; import android.view.View; import android.view.View.OnClickListener; import android.widget.Toast;public class BtnTest implements OnClickListener {private Context context;public BtnTest(Context context){this.context=context;}@Overridepublic void onClick(View view) {Toast.makeText(context, "通過外部類實現OnClickListener接口:第一個按鈕被點擊了",Toast.LENGTH_SHORT).show();}}

?

          步驟3.為獲取到的按鈕綁定事件,并且把當前對象傳入

             

?

     

?    ? 第四種:使用MainActivity直接實現OnClickListener接口的方式

          步驟1.在 MainActivity 中實現 OnClickListener 接口,并且重寫 OnClick 方法:

          步驟2.綁定button按鈕相對應的監聽,把當前對象傳入:

        

        ??特點:
??????? ???     ??? ??? ?1.這樣是的MainActivity類成為了監聽器類,這樣的方式十分簡潔?? ?
??????? ???     ??? ??? ?2.但是這樣容易引起結構的混亂,因為MainActivity類主要職責來初始化界面的,這加入了事件處理器的方法,引起混亂。
?    ??????? ??? ?? ???? 3.界面類需要實現監聽器的方法,有點不倫不類。????  

          

package com.mqz.android_event_test;import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener{private Button button;@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this, "通過MainActivity實現OnClickListener接口:第一個按鈕被點擊了",Toast.LENGTH_SHORT).show();}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button)findViewById(R.id.button2);button.setOnClickListener(this);}}

?

    

?     第五種:使用成員內部類的方式來實現button按鈕事件的綁定

         步驟1.獲取 layout 布局文件中的Button控件的 Id:

              

         步驟2.在 MainActivity 類中創建一個成員內部類,并且實現 OnClickListener 接口,重寫 OnClick 方法:

         

class BtnTest1 implements OnClickListener{ @Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this, "通過成員內部類:第二個按鈕被點擊了",Toast.LENGTH_SHORT).show();}}

        ?? 步驟3、在這個按鈕中綁定相關的事件,new 內部類()即可,不需要傳入上下文對象,因為這個類是當前類的內部類:

     ????????????????  

         好處:?? ?
????? ??? ??? ?      ?? ?1.成員內部監聽器的方式可以訪問外部類的中的所有屬性,所以在new OnClickListener實現類 對象的時候不需要傳入當前對象
????? ??? ???       ??? ?2.成員內部監聽器可以讓外部類重復使用,因為成員內部監聽器是外部類的內部類 

總結

以上是生活随笔為你收集整理的Android_安卓为按钮控件绑定事件的五种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。