के अंदर पंजीकृत कर सकता हूं, मैं अपने आवेदन को दोबारा करने के लिए Google द्वारा प्रदान किए गए एमवीपी डिजाइन पैटर्न का पालन कर रहा हूं। मेरे पास एक मुख्य गतिविधि और कई टुकड़े हैं और यह मेरे लिए हर टुकड़े के लिए गतिविधि बनाने के लिए बहुत गड़बड़ है, इसलिए मैं प्रस्तुति को टुकड़े में पंजीकृत करने के बारे में सोच रहा हूं।क्या मैं एमजीपी प्रेजेंटर को फ्रैगमेंट
public class FirstPresenter implements FirstContract.Presenter {
private final FirstContract.View mView;
public FirstPresenter(FirstContract.View view) {
mView = view;
}
@Override
public void start() {
Log.e(TAG, "Start");
}
}
और यहाँ है: क्या मैं दिखाई दे रही है हर टुकड़ा रजिस्टर है कि यह स्वयं के प्रस्तोता है है, लेकिन मुझे यकीन है कि यह कितना गलत है नहीं कर रहा हूँ ... :)
तो यहाँ मेरी प्रस्तुतकर्ता है मेरा टुकड़ा:
public class FirstFragment extends Fragment implements FirstContract.View {
private FirstContract.Presenter mPresenter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container
, Bundle savedInstanceState) {
...
// I register firstFragment's presenter here.
mPresenter = new FirstPresenter(this);
...
तो मेरा सवाल है, क्या यह सही तरीका है? क्या मैं प्रेजेंटर को गतिविधि में बदले में फ्रैगमेंट में पंजीकृत कर सकता हूं? और यदि यह सही नहीं है, तो क्या एमवीपी को एक गतिविधि और एकाधिक टुकड़ों के साथ संभालने के लिए कुछ अच्छा उदाहरण है?
धन्यवाद दोस्तों, बीआर!
एंड्रॉइड ब्लूप्रिंट रिपोजिटरी में उदाहरण कोड में, आपको 'गतिविधि' के अंदर 'प्रस्तुतकर्ता' बनाया जा रहा है, लेकिन पंजीकरण 'फ्रैगमेंट' के अंदर भी किया जाएगा। उदाहरण के लिए 'कार्यसूची एक्टिविटी' देखें: https://github.com/googlesamples/android-architecture/blob/todo-mvp/todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/ taskdetail/TaskDetailActivity.java - हम अपने ऐप में एमवीपी का भी उपयोग कर रहे हैं और हम पंजीकरण भी उसी तरह करते हैं। मुझे ऐसा करने में कोई समस्या नहीं दिख रही है। – Darwind