के साथ लिस्टव्यू में मूल एक्सप्रेस विज्ञापनों को कैसे कार्यान्वित करें मेरे पास कर्सर एडाप्टर के साथ सूचीदृश्य है। अब मैं सूची दृश्य में मूल एक्सप्रेस विज्ञापन लागू करना चाहता हूं।कर्सर एडाप्टर
मैं सरल baseAdapter साथ स्थानीय विज्ञापन वे के कार्यान्वयन को देखा है, कि आम तौर पर हम एडाप्टर और विज्ञापन जोड़ने के लिए getView()
विधि के अंदर आइटम के प्रकार की जाँच करने के डेटा पारित करने के लिए List<Object>
उपयोग कर रहे हैं।
@Override
public View getView(int position, View convertView, ViewGroup parent)
throws IllegalArgumentException {
Object item = getItem(position);
if (item instanceof Listing) {
// Listing items already have all the data required, so they just need to be displayed.
return listingLayout;
} else if (item instanceof AdPlacement) {
return ((AdPlacement) item).getView(convertView, parent);
} else {
// Any unknown items will cause exceptions, though this shouldn't ever happen.
throw new IllegalArgumentException(
String.format("Adapter can't handle getView() for list item of type %s",
item.getClass().getName()));
}
}
CursorAdapter रूप CursorAdapter में इस हालत की जांच कैसे करें केवल कर्सर विवरण के साथ विधि newItem() है
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
View v = LayoutInflater.from(context).inflate(R.layout.list_item_station, parent, false);
ViewHolder holder = new ViewHolder();
v.setTag(holder);
return v;
}
CursorAdapter में हर 10 आइटम
Bellow है के बाद स्थानीय विज्ञापनों को कैसे जोड़ें वर्तमान कोड मैं सूची में डेटा जोड़ने के लिए उपयोग कर रहा हूँ।
public class StationsCursorAdapter extends CursorAdapter{
public StationsCursorAdapter(Context context) {
super(context, null, true);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
View v = LayoutInflater.from(context).inflate(R.layout.list_item_station, parent, false);
ViewHolder holder = new ViewHolder();
v.setTag(holder);
return v;
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
ViewHolder holder = (ViewHolder) view.getTag();
holder.titleTextView.setText(cursor.getString(cursor.getColumnIndex(Station.NAME)));
}
private static final class ViewHolder {
TextView titleTextView;
}
}
लेकिन जब मैं कर्सर एडाप्टर का उपयोग कर रहा हूं तो मैं व्यू टाइप कैसे सेट कर सकता हूं? –
@OmInfowave डेवलपर मूल रूप से, आप कई व्यूहोल्डर बनाते हैं। आपके कार्यान्वयन के लिए प्रत्येक। ViewHolderDog, ViewHolderCat। 'न्यू व्यू' में आप कर्सर से टाइप के बारे में कुछ जानकारी प्राप्त करेंगे, और फिर विशेष व्यूहोल्डर प्रकार वापस कर देंगे। फिर 'ऑनबिंड' में, आपको व्यूहोल्डर प्राप्त होगा, और आप जांचेंगे कि किस प्रकार का प्रकार है। – GensaGames
, लेकिन मुद्दा कर्सर एडाप्टर है, यह सीधे कर्सर को एडाप्टर में पास करता है, मान लीजिए कि स्थानीय डेटाबेस में 22 आइटम हैं तो कर्सर आकार 22 है, फिर एडाप्टर आकार 22 है, अब मैं प्रत्येक 10 आइटम के बाद विज्ञापन जोड़ना चाहता हूं ताकि एडाप्टर आकार मुझे 24 हो। कर्सर एडाप्टर में इन दो अतिरिक्त आइटम को कैसे जोड़ें क्योंकि हम कर्सर मूल्य –