मुझे डायलॉग फ्रैगमेंट (कॉल करने के लिए कॉल के बाद) के अंत को संभालने की आवश्यकता है - उदाहरण के लिए, मैं गतिविधि के अंदर एक टोस्ट दिखाऊंगा जो खारिज होने के बाद खंड "शामिल" है।डायलॉगफ्रैगमेंट बंद करें इवेंट
मैं ईवेंट को कैसे प्रबंधित करूं?
मुझे डायलॉग फ्रैगमेंट (कॉल करने के लिए कॉल के बाद) के अंत को संभालने की आवश्यकता है - उदाहरण के लिए, मैं गतिविधि के अंदर एक टोस्ट दिखाऊंगा जो खारिज होने के बाद खंड "शामिल" है।डायलॉगफ्रैगमेंट बंद करें इवेंट
मैं ईवेंट को कैसे प्रबंधित करूं?
अपने डायलॉगफ्रैगमेंट में onDismiss()
ओवरराइड करें, या कोड ब्लॉक में setOnDismissListener()
का उपयोग करें जहां आप टुकड़ा बना रहे हैं।
करना चाहता हूं संदर्भ में डिस्मिस को ओवरराइड करने के लिए कहा गया है। अब मुझे एक और परेशानी है। टोस्ट बनाने के लिए मैं मुख्यदृश्य संदर्भ कैसे प्राप्त कर सकता हूं? – giozh
यदि आप एक और प्रश्न बनाते हैं तो संदर्भ प्राप्त करने के लिए पूछे जाने पर सभी को फायदा होगा। ऐसे कई अन्य उत्तर हैं जिन्हें आप पा सकते हैं जो पहले ही इस प्रश्न का उत्तर दे चुके हैं। –
मुझे इसी तरह की समस्या का सामना करना पड़ा, लेकिन मैं संवाद खारिज के बारे में एक और गतिविधि को सूचित करना चाहता था (गतिविधि नहीं बनाई गई थी और संवाद दिखाया था)।
यद्यपि आप बस के रूप में Austyn Mahoney सुझाव आपके DialogFragment में onDismiss()
विधि ओवरराइड कर सकते हैं, फिर भी आप नहीं उपयोग setOnDismissListener()
, DialogFragment बस इस तरह के विधि (के अनुसार: Android Developers DialogFragment Reference) प्रदान नहीं करता है क्योंकि कर सकते हैं।
लेकिन फिर भी संवाद के बारे में किसी भी अन्य गतिविधि को सूचित करने को खारिज एक और अच्छा तरीका है, (मैं वहाँ वह मिल जाए: DialogFragment and onDismiss), यहाँ यह आता है:
सबसे पहले आप अपनी गतिविधि बनाना चाहिए (एक है कि आप पारित करने के लिए संवाद के बारे में जानकारी को खारिज) OnDismissListener
को लागू करना चाहते हैं:
public final class YourActivity extends Activity implements DialogInterface.OnDismissListener {
@Override
public void onDismiss(final DialogInterface dialog) {
//Fragment dialog had been dismissed
}
}
फिर Android Developers DialogFragment Reference DialogFragment के अनुसार पहले से ही onDismiss()
विधि के साथ OnDismissListener
लागू करता है। शो
public final class DialogFragmentImage extends DialogFragment {
@Override
public void onDismiss(final DialogInterface dialog) {
super.onDismiss(dialog);
final Activity activity = getActivity();
if (activity instanceof DialogInterface.OnDismissListener) {
((DialogInterface.OnDismissListener) activity).onDismiss(dialog);
}
}
}
ऑनडिस्मिस (..) यदि मेरे पास एकाधिक संवाद हैं तो मैं एक संवाद की पहचान कैसे कर सकता हूं? – Anthea
जब संवाद को खारिज कर दिया जाता है, तो सिस्टम 'ऑनडिस्मिस (अंतिम डायलॉग इंटरफेस संवाद)' तर्क में खारिज किए गए संवाद के संदर्भ को पास करता है। देखें: http://developer.android.com/reference/android/app/DialogFragment.html#onDismiss(android.content.DialogInterface) – Krzysiek
आप
img_popup_timer_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "Cancel", Toast.LENGTH_SHORT).show();
**getDialog().cancel();**
}
});
की तरह एक बटन पर एक घटना दे सकते हैं आप संवाद को बंद करना चाहते हैं, और उसके बाद: यही कारण है कि आप इसे ओवरराइड और आपकी
onDismiss()
विधि है जो आप YourActivity में लागू बुलाना चाहिए है इसे एक टोस्ट में खारिज कर दिया जाता है? –हां, यह है कि मैं – giozh