यह उदाहरण दर्शाता है कि Kotlin का उपयोग करके AlertDialog में बटन क्लिक होने पर डायलॉग को ऑटोमेटिकली बंद होने से कैसे रोका जाता है।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio खोलें, File → New Project पर जाएं और नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2: activity_main.xml में खाली लेआउट रखें
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:text="Tutorials Point"
android:textAlignment="center"
android:textColor="@android:color/holo_green_dark"
android:textSize="32sp"
android:textStyle="bold" />
</RelativeLayout>
चरण 3: MainActivity.kt में डायलॉग बटन इंटरसेप्ट करें
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
val dialog: AlertDialog = AlertDialog.Builder(this)
.setTitle("My Alert Dialog")
.setMessage("Do you wanna dismiss this Dialog")
.setPositiveButton("Ok", null)
.setNegativeButton("Cancel", null)
.show()
val positiveButton: Button = dialog.getButton(AlertDialog.BUTTON_POSITIVE)
positiveButton.setOnClickListener {
Toast.makeText(this, "Do not dismiss", Toast.LENGTH_SHORT).show()
}
}
}
चरण 4: AndroidManifest.xml कॉन्फ़िगर करें
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.q11">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
ऐप चलाएं
अपने Android डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में किसी एक्टिविटी फ़ाइल को खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और ऐप चलने पर डिफ़ॉल्ट स्क्रीन देखें।
व्याख्या: डिफ़ॉल्ट रूप से, AlertDialog के बटन क्लिक होने पर डायलॉग बंद हो जाता है। setPositiveButton("Ok", null) में null लिस्टनर पास करके और फिर dialog.getButton() से बटन प्राप्त करके कस्टम OnClickListener सेट करने से डिफ़ॉल्ट डिसमिस व्यवहार ओवरराइड हो जाता है। डायलॉग को मैन्युअली बंद करने के लिए dialog.dismiss() कॉल करें।