11
साथ सामान्य वर्ग इंजेक्शन मैंडैगर
public abstract class BaseActivity<T extends BasePresenter<? extends IBaseView>> implements IBaseView{
जो में मैं इस तरह एक सामान्य वर्ग इंजेक्षन करने की कोशिश अपने प्रोजेक्ट में एक सार आधार वर्ग है:
@Inject protected T mPresenter;
वहाँ चाकू बनाने के लिए कोई तरीका है ऐसे सामान्य इंजेक्शन के साथ काम करते हैं? डैगर कोड उत्पन्न करता है जैसे:
public final class BaseActivity$$InjectAdapter extends Binding<BaseActivity>
implements MembersInjector<BaseActivity> {
private Binding<T> mPresenter;
}
और फिर विफल रहता है क्योंकि "टी को किसी प्रकार से हल नहीं किया जा सकता"। क्या इसे
Binding<SomethingExtendingBasePresenter> mPresenter
ऐसे मामले में बनाने का कोई तरीका है?
आपके प्रकार बहुत विषम हैं। 'गतिविधि' के लिए एक इंटरफ़ेस का विस्तार करने वाला 'गतिविधि' क्यों है? –
गतिविधि बेसव्यू इंटरफ़ेस को कार्यान्वित कर रही है, यह मॉडल-व्यू-प्रेजेंटर पैटर्न से दृश्य है, एंड्रॉइड.व्यू में नहीं देखें। – Malthan
देखें, उस स्थिति में, क्योंकि आपकी गतिविधि एक प्रस्तुतकर्ता है, इसलिए शायद यह एक दृश्य भी नहीं होना चाहिए। –