Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

วิธีลบ OnClickListener ของ View ใน Android


ตัวอย่าง: การลบ OnClickListener ของ View

ในบางสถานการณ์ เราไม่ควรอนุญาตให้ View ตอบสนองต่อการคลิก ตัวอย่างนี้สาธิตวิธีลบ OnClickListener ใน Android

ขั้นตอนที่ 1: สร้างโปรเจกต์ใหม่

เปิด Android Studio ไปที่ File → New Project แล้วกรอกรายละเอียดที่จำเป็น

ขั้นตอนที่ 2: จัดการ Layout (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:id="@+id/parent"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:gravity="center"
    android:orientation="vertical">
    <TextView
        android:id="@+id/text"
        android:textSize="28sp"
        android:textAlignment="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

ในโค้ดข้างต้น เรามี TextView ในตัวอย่างนี้ เราจะลบ OnClickListener ของ TextView นี้

ขั้นตอนที่ 3: เขียนโค้ด Java (src/MainActivity.java)

package com.example.andy.myapplication;

import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    int view = R.layout.activity_main;
    TextView textview;

    @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(view);
        textview = findViewById(R.id.text);
        textview.setText("ไม่มี Click Listener สำหรับ TextView นี้");
        textview.setOnClickListener(null);
    }
}

ในตัวอย่างข้างต้น เราส่งค่า null ให้กับ setOnClickListener() ดังนั้นเมื่อผู้ใช้คลิกที่ TextView จะไม่มีการกระทำใดๆ เกิดขึ้น

การทดสอบแอปพลิเคชัน

เชื่อมต่ออุปกรณ์ Android จริง ใน Android Studio คลิกไอคอน Run เลือกอุปกรณ์ แล้วตรวจสอบหน้าจอ

วิธีลบ OnClickListener ของ View ใน Android

ในหน้าจอนี้ ลองคลิกที่ TextView จะไม่เกิดอะไรขึ้น เพราะเราตั้งค่า OnClickListener เป็น null ไว้แล้ว