Android開發基礎—通過匿名內部類實作按鈕點擊事件
在上一篇中為大家展示了如何使用內部類實作按鈕點擊事件
內部類實作的按鈕點擊事件
這次我們說下通過匿名內部類實作按鈕點擊事件,其實大家可以發現內部類主要的作用就是創建一個類去實作OnClickListener介面,那么我們就可以在setOnClickListener方法中直接new出來一個介面,當然這樣肯定是可以 的,這就是今天我們的通過匿名內部類去實作按鈕點擊事件的方法,
老規矩,首先給大家奉上JAVA代碼~
public class ButtonActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
// 系結Button 物件
Button button = findViewById(R.id.btn3);
// 使用匿名內部類創建點擊事件
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("TAG","匿名內部類實作的點擊事件");
}
});
}
}
這里進行代碼詳解:
=========================================================================================================
動動你聰明的腦袋瓜,要想實作按鈕的點擊效果是不是首先得讓activity知道你點的是哪個按鈕?這個按鈕就是我們在XML中定義的按鈕,所以我們使用 findViewById找出來這個id,并把它與Button的物件 button所系結,那么這樣我們就可以通過點擊樣式界面中的按鈕去操作button,
//這里的引數就是我們要點擊按鈕的id
Button button = findViewById(R.id.btn3);
我們為這個button去添加一個監聽器,時時刻刻的監聽著button的狀態,如果有點擊則實作onClick()方法里面的代碼,這里我們在控制臺輸出一句 “匿名內部類實作的點擊事件”,并把它設定成錯誤日志,別問~問就是因為錯誤日志是紅色的醒目!
// 使用匿名內部類創建點擊事件
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("TAG","匿名內部類實作的點擊事件");
}
});
在這里說下本身setOnClickListener 需要傳入一個引數,這個引數是什么呢?對啦~就是一個實作了onClickListener介面的類的物件,說白了不就是一個實作介面的物件么,那好,既然這樣我們就直接在引數里面給它new一個不就行了嘛! 然后我們監聽器監聽到這個按鈕有點擊動作就會實作里面的重寫方法onClick(View v)對吧?
是不是很簡單?
老樣子貼出XML代碼:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ButtonActivity">
<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="自定義內部類的方法實作的點擊事件"/>
<Button
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="自定義內部類的方法實作的點擊事件2"/>
<Button
android:id="@+id/btn3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="匿名內部類的方法實作的點擊事件"/>
<Button
android:id="@+id/btn4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="當前Activity實作的點擊事件的介面"/>
<Button
android:id="@+id/btn5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="myClick"
android:text="在xml檔案中系結實作點擊事件"/>
<Button
android:id="@+id/btn6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="myClick"
android:text="在xml檔案系結實作點擊事件2"
/>
</LinearLayout>
=========================================================================================================
效果展示:

我們點擊劃了紅線線的按鈕

如我們所愿,在控制臺輸出了我們要輸出的文字
這里說下通常有四種方式實作按鈕點擊事件:
1.通過內部類實作
2.通過匿名內部類實作
3.通過Activity實作
4.在xml中系結
我們已經學會了兩種,剩下兩種我會在剩下兩篇博客中給大家展示,最后我會做一篇關于這四種內部類的總結以及各種方式的使用場景,
下一篇:通過Activity實作和通過xml中系結
客官,今天脫發了嗎?——今天完結撒發
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/60484.html
標籤:其他
