देता है किसी कारण से मैं holder.getAdapterPosition()
का उपयोग करने में सक्षम नहीं हूं क्योंकि यह हमेशा -1 देता है लेकिन holder.getLayoutPosition()
एक स्थिति को ठीक करता है।viewHolder.getAdapterPosition() हमेशा -1
मेरे onCreateViewHolder:
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
// create a new view
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.my_item, parent, false);
ViewHolder vh = new ViewHolder(this, v);
return vh;
}
मेरे ViewHolder निर्माता:
public ViewHolder(DirectoryListAdapter adapter, View linear) {
super(linear);
this.adapter = adapter;
this.linear = (LinearLayout) linear;
this.entryName = (TextView) linear.findViewById(R.id.item_name);
this.entryImage = (ImageView) linear.findViewById(R.id.item_image);
}
मैं थोड़ा आगे देखा और getAdapterPosition
इस तरह दिखता है:
public final int getAdapterPosition() {
final ViewParent parent = itemView.getParent();
if (!(parent instanceof RecyclerView)) {
return -1;
}
final RecyclerView rv = (RecyclerView) parent;
return rv.getAdapterPositionFor(this);
}
और मूल रूप से क्या हो रहा है यह है कि व्यूपेंट शून्य है। कोई विचार क्यों हो सकता है?
इसके अलावा मेरा रीसाइक्लिंग ठीक काम कर रहा है।
धन्यवाद।
तो क्या मैं कुछ गलत कर रहा हूं? क्या मुझे माता-पिता को स्थापित करना चाहिए? – casolorz