java - Getting return value from onClickListener of android -


कृपया देखें कि मैंने पोस्ट को अपडेट किया है

क्या मैं

यह मेरा कोड है जिसमें मैं एंड्रॉइड एप्लिकेशन प्रारंभ होने के साथ ही एक पुष्टिकरण बॉक्स विकसित कर रहा हूं

 < कोड> पैकेज com.example.alertboxandloadingwidgets; Importroid.os.Bundle; आयात एंड्रॉइड। एप। आयात करें android.app.AlertDialog; आयात करें android.content.Context; आयात करें android.content.DialogInterface; Import android.view.Menu; आयात करें android.widget.Toast; सार्वजनिक कक्षा मुख्य गतिविधि गतिविधि को बढ़ाता है {@ ओवरराइड संरक्षित शून्य पर क्रिएट (बंडल सहेजे गए इन्स्टैंसस्टेट) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); बूलियन परिणाम = शो ConfirmationBox ("क्या आप वाकई यह करना चाहते हैं", यह); } सार्वजनिक बूलियन शो ConfirmationBox (स्ट्रिंग संदेशटोशो, अंतिम संदर्भ संदर्भ) {// चेतावनी बॉक्स AlertDialog.Builder alertbox = नया AlertDialog.Builder (संदर्भ) तैयार करें; // चेतावनी बॉक्स प्रदर्शित करने के लिए संदेश सेट करें .सेटमेस्ज (संदेशटोझो); // एक सकारात्मक / हां बटन सेट करें और एक श्रोता अलर्टबॉक्स बनायें .सेटपोसिटिवबटन ("हां", नया डायलॉगइंटरफेस .ऑनक्लिकलाइज़र () {// कुछ ऐसा होता है जब बटन को सार्वजनिक शून्य पर क्लिक किया जाता हैक्लिक (DialogInterface arg0, int arg1) {Toast.makeText (संदर्भ, "हां" बटन क्लिक किया गया ", टोस्ट। एलएनएनएचआईएचआरएआरएआरएआरटी)। दिखाएं ();}}); // एक नकारात्मक / कोई बटन सेट करें और एक श्रोता अलर्टबॉक्स बनायें .सेटनेटिव बटटन ("नहीं", नया डायलॉग इंटरफ़ेस .ऑनक्लिकलाइज़र () {// कुछ ऐसा होता है जब बटन पर क्लिक किया गया है सार्वजनिक शून्य पर क्लिक करें (DialogInterface arg0, int arg1) {Toast.makeText (संदर्भ, "'नहीं' बटन क्लिक किया जाता है", टोस्ट। एलएनएनजीएचआईएचओआरएआरएआरटी)। दिखाएं ();}}); // डिस्प्ले बॉक्स alertbox.show (); }}   

लेकिन मैं चाहता हूं कि यदि हाँ बटन क्लिक किया जाए तो उसे true वापस करना होगा और यदि नहीं < / कोड> बटन क्लिक किया जाता है तो उसे false वापस करना होगा

लेकिन मैं ऐसा नहीं कर पा रहा हूं क्योंकि रिटर्न प्रकार का onClickListener शून्य है।

कृपया मेरी मदद करें कि मैं इसके लिए क्या कर सकता हूं।

लेकिन समस्या यह है कि मैंने इसे सामान्य अर्थ दिया है यह विधि मुझे एक सामान्य उपयोगिता कक्षा में लिखना है जहां से कोई भी गतिविधि इस पद्धति का उपयोग कर सकती है। तो मुझे इस पैरामीटर से मान को सेट या रीसेट करना होगा जहां से मैं यह विधि कह रहा हूं।

एंड्रॉइड संवाद एसिंक्रोनस हैं, इसलिए आपको इस से निपटने के लिए अपने कोड को रिफ़ाक्टर करना होगा। मुझे लगता है कि आप ऐसा कुछ करने की योजना बना रहे थे:

  बूलियन परिणाम = शो Confirmation (...);   

आप इसी तरह से कुछ इस तरह प्राप्त कर सकते हैं:

  सार्वजनिक कक्षा मुख्य गतिविधि गतिविधि को बढ़ाता है {निजी बूलियन परिणाम; @ ओवरराइड संरक्षित शून्य को क्रिएट (बंडल सहेजा गया इन्स्टैंसस्टेट) {सुपर.नक्रेट (सहेजे गए इन्स्टेंसस्टेट); setContentView (R.layout.activity_main); ShowConfirmationBox ("क्या आप वाकई यह करना चाहते हैं", यह); } निजी doOnTrueResult () {परिणाम = सच; // कुछ करें} निजी doOnFalseResult () {परिणाम = false; // कुछ और करें} सार्वजनिक शून्य शो ConfirmationBox (स्ट्रिंग संदेशटोशो, अंतिम संदर्भ संदर्भ) {// चेतावनी बॉक्स AlertDialog.Builder alertbox = नया AlertDialog.Builder (संदर्भ) तैयार करें; // चेतावनी बॉक्स प्रदर्शित करने के लिए संदेश सेट करें .सेटमेस्ज (संदेशटोझो); // एक सकारात्मक / हां बटन सेट करें और एक श्रोता अलर्टबॉक्स बनायें .सेटपोसिटिवबटन ("हां", नया डायलॉगइंटरफेस .ऑनक्लिकलाइज़र () {// कुछ ऐसा होता है जब बटन को सार्वजनिक शून्य पर क्लिक किया जाता हैक्लिक (DialogInterface arg0, int arg1) {Toast.makeText (संदर्भ, "हां" बटन क्लिक किया गया ", टोस्ट। एलएनजीएचआईएचओआरएआरएआरटी)। दिखाएं (); डूएंट्रू रीसल्ट ();}}}; // एक नकारात्मक / कोई बटन सेट करें और एक श्रोता अलर्टबॉक्स बनायें .सेटनेटिव बटटन ("नहीं", नया डायलॉग इंटरफ़ेस .ऑनक्लिकलाइज़र () {// कुछ ऐसा होता है जब बटन को सार्वजनिक शून्य पर क्लिक किया जाता हैक्लिक (DialogInterface arg0, int arg1) {Toast.makeText (संदर्भ, "'नहीं' बटन क्लिक किया गया है", टोस्ट। एलएनजीएचआईएचओआरएआरएआरटी)। दिखाएं (); डोनफल्सेरिसल्ट ();}}); // डिस्प्ले बॉक्स alertbox.show (); }}    

Comments

Popular posts from this blog

excel vba - How to delete Solver(SOLVER.XLAM) code -

github - Teamcity & Git - PR merge builds - anyway to get HEAD commit hash? -

ios - Replace text in UITextView run slowly -