android - पुष्टिकरण को लागू कैसे करें(हां/नहीं) संवादप्रणाली?




android-preferences confirmation (3)

एंड्रॉइड एक अंतर्निहित YesNoPreference क्लास के साथ आता है जो वास्तव में वही करता है जो आप चाहते हैं (हां और कोई विकल्प के साथ एक पुष्टिकरण संवाद)। here आधिकारिक स्रोत कोड देखें।

दुर्भाग्यवश, यह com.android.internal.preference पैकेज में है, जिसका अर्थ है कि यह एंड्रॉइड के निजी एपीआई का हिस्सा है और आप इसे अपने एप्लिकेशन से एक्सेस नहीं कर सकते हैं (निजी एपीआई कक्षाएं बिना किसी सूचना के बदल सकती हैं, इसलिए Google ऐसा करता है आपको उन तक पहुंचने न दें)।

समाधान: मेरे द्वारा प्रदान किए गए लिंक से आधिकारिक स्रोत कोड की प्रतिलिपि / चिपकाकर अपने एप्लिकेशन के पैकेज में कक्षा को फिर से बनाएं। मैंने यह कोशिश की है, और यह ठीक काम करता है (ऐसा कोई कारण नहीं है कि इसे क्यों नहीं करना चाहिए)।

फिर आप इसे अपनी preferences.xml में किसी अन्य preferences.xml तरह जोड़ सकते हैं। उदाहरण:

<com.example.myapp.YesNoPreference
    android:dialogMessage="Are you sure you want to revert all settings to their default values?"
    android:key="com.example.myapp.pref_reset_settings_key"
    android:summary="Revert all settings to their default values."
    android:title="Reset Settings" />

जो इस तरह दिखता है:

मैं एक वरीयता को कैसे कार्यान्वित कर सकता हूं जो एक साधारण हां / कोई पुष्टि संवाद प्रदर्शित करता है?

उदाहरण के लिए, Browser->Setting->Clear Cache



यह एक साधारण चेतावनी संवाद है , फेडेरिको ने आपको एक साइट दी है जहां आप चीजों को देख सकते हैं।

यहां एक संक्षिप्त उदाहरण दिया गया है कि एक चेतावनी संवाद कैसे बनाया जा सकता है।

new AlertDialog.Builder(this)
.setTitle("Title")
.setMessage("Do you really want to whatever?")
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {

    public void onClick(DialogInterface dialog, int whichButton) {
        Toast.makeText(MainActivity.this, "Yaay", Toast.LENGTH_SHORT).show();
    }})
 .setNegativeButton(android.R.string.no, null).show();





dialog-preference