मैं अपने प्रोजेक्ट में डेटा बाइंडिंग और रीसाइक्लर व्यू का उपयोग करता हूं। मेरे पास RecyclerView के लिए आधार एडाप्टर है। ऐसा लगता है कि यहRecyclerView.Adapter को ओवरड्राइड नहीं दिखता है BindViewHolder
public abstract class BaseAdapter<T extends ViewDataBinding> extends RecyclerView.Adapter<BaseAdapter.ViewHolder> {
public BaseAdapter() {}
public class ViewHolder extends RecyclerView.ViewHolder {
public T binding;
public ViewHolder(View view) {
super(view);
binding = DataBindingUtil.bind(view);
}
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
... code ...
}
}
व्यूहोल्डर विस्तारित कक्षाएं केवल बाध्यकारी फ़ील्ड प्रकार को अलग करती हैं। विस्तारित BaseAdapter वर्ग के कार्यान्वयन के बाद:
public class BaseAdapterExtended extends BaseAdapter<BaseAdapterExtendedBinding> {
public BaseAdapterExtended(ArrayList<ItemModel> itemModels) {
super();
mData = itemModels;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
return new ViewHolder(BaseAdapterExtendedBinding.inflate(inflater, parent, false).getRoot());
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
super.onBindViewHolder(holder, position);
}
@Override
protected View getItemRootView(ViewHolder holder) {
return holder.binding.item;
}
@Override
public int getItemCount() {
return mData.size();
}
}
मैं अगले संकलन त्रुटि मिल रहा हूँ:
error: BaseAdapterExtended is not abstract and does not override abstract method onBindViewHolder(BaseAdapter.ViewHolder,int) in Adapter
लगता BaseAdapterExtended की तरह नहीं इस विधि है, लेकिन वह मौजूद है। अगर मैं
public void onBindViewHolder(ViewHolder holder, int position)
को
public void onBindViewHolder(BaseAdapter.ViewHolder holder, int position)
अनुमान ठीक संकलित बदलने के लिए, लेकिन बाध्यकारी बजाय BaseAdapterExtendedBinding ViewDataBinding किया जाएगा लिखें। ये क्यों हो रहा है? कोई विचार?
क्या 'BaseAdapterExtended' में ViewHolder के लिए आयात? आप 'BaseAdapterExtended' में' GamesListAdapter' नामक एक कन्स्ट्रक्टर क्यों करते हैं? – Blackbelt
क्षमा करें, मैं वस्तुओं का नाम बदलता हूं – Tiberal
क्या आपने अपनी समस्या हल की है, मुझे अभी पूरे सप्ताह के लिए यह समस्या है और यह मुझे पागल कर रहा है: -/ – Strassenrenner