2013-08-12 7 views
10

के अंदर दो बच्चे के टुकड़ों के बीच संवाद कैसे करें I कॉलबैक interface द्वारा गतिविधि के दो fragment एस के बीच आसानी से संवाद कर सकते हैं। इस तरह, मैंने संवाद करने के लिए ParentFragment में एक इंटरफ़ेस लागू किया है।नेस्टेड फ्रैगमेंट

लेकिन गतिविधि के मामले में, मैं उपयोग कर रहा था -

@Override 
    public void onAttach(Activity activity) { 
     super.onAttach(activity); 
     try { 
      mCallback = (OnHeadlineSelectedListener) activity; 
     } catch (ClassCastException e) { 
      throw new ClassCastException(activity.toString() 
        + " must implement OnHeadlineSelectedListener"); 
     } 
    } 

और वर्तमान मामले में, मैं mCallback = (OnHeadlineSelectedListener) activity; के बजाय mCallback = (OnHeadlineSelectedListener) getParentFragment(); उपयोग कर रहा हूँ। सब ठीक काम कर रहा है। क्या यह दृष्टिकोण ठीक है? या मुझे इसे onAttach() के बजाय किसी अन्य धागे में करना चाहिए?

उत्तर

7

कास्ट चीज यह सुनिश्चित करना है कि कुछ ऑब्जेक्ट कक्षा का उदाहरण है जो इंटरफ़ेस लागू करता है (इस मामले में OnHeadlineSelectedListener)। इस बिंदु पर यह अप्रासंगिक है कि यह किस प्रकार की वस्तु है, यह गतिविधि, टुकड़ा या कुछ और है। जब तक यह आपको आवश्यक इंटरफ़ेस लागू करता है, यह ठीक है।