जब मैं स्क्रॉल करते समय अपनी सूची को पुनर्चक्रण में अद्यतन करता हूं, तो मेरा ऐप निम्नलिखित स्टैकट्रेस के साथ क्रैश हो जाता है:

एडेप्टर वर्ग

public class NotesAdapter extends RecyclerView.Adapter<NotesAdapter.MyViewHolder> {
private Context context;
public static List<Note> notesList; 

public class MyViewHolder extends RecyclerView.ViewHolder {
        public TextView note;
 

        public MyViewHolder(View view) {
            super(view);
            note = view.findViewById(R.id.note);
            
        }
    }
public NotesAdapter(Context context, List<Note> notesList) {
        this.context = context;
        this.notesList = notesList; 
    }

@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View itemView = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.note_list_row, parent, false);
    

     return new MyViewHolder(itemView);
}


@Override
public void onBindViewHolder(final MyViewHolder holder, int position) {

final Note note = notesList.get(position);
            holder.note.setText(note.getNote());
}

@Override
public int getItemCount() {
    return notesList.size() ;
}
}

जब मैं अपने क्रैश को अपडेट करते हुए पुनर्चक्रण को स्क्रॉल करता हूं, तो मेरे पास अब मेरे पास मौजूद सभी कोड हैं, कृपया इस दुर्घटना में मेरी मदद करें ... जब भी मेरे फोन पर अधिसूचना आती है तो मैं अपनी सूची अपडेट करता हूं, इसलिए पूरी सूची अपडेट हो जाती है और यदि आप स्क्रॉल कर रहे हैं और सूची अपडेट हो जाती है ऐप क्रैश

java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{86b8f8b position=1 id=-1, oldPos=-1, pLpos:-1 no parent} androidx.recyclerview.widget.RecyclerView{d8043c1 VFED..... ........ 0,0-1080,1369 #7f0a00ff app:id/recyclerView}, adapter:com.uzeegar.unseen.nolastseen.hiddenchat.Adapter.NotesAdapter@c87d766, layout:com.uzeegar.unseen.nolastseen.hiddenchat.Utilz.WrapContentLinearLayoutManager@85bfaa7, context:androidx.multidex.MultiDexApplication@5fed17c
    at androidx.recyclerview.widget.RecyclerView$Recycler.validateViewHolderForOffsetPosition(RecyclerView.java:5715)
    at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5898)
    at androidx.recyclerview.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:286)
    at androidx.recyclerview.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:343)
    at androidx.recyclerview.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:359)
    at androidx.recyclerview.widget.GapWorker.prefetch(GapWorker.java:366)
    at androidx.recyclerview.widget.GapWorker.run(GapWorker.java:397)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:214)
    at android.app.ActivityThread.main(ActivityThread.java:7050)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
2
waqar khan 16 नवम्बर 2020, 15:49
1
आपको कुछ कोड जोड़ना चाहिए जो इस अपवाद को फेंकता है। आपकी मदद करना आसान बना देगा (या पहली जगह में भी संभव है)
 – 
Christian W
16 नवम्बर 2020, 15:53
अब मैंने अपने एडॉप्टर क्लास को टेक्स्टव्यू में सिर्फ टेक्स्ट दिखा रहा है, लेकिन जब रिसाइकलव्यू अपडेट हो रहा है और आप उस समय क्रैश को स्क्रॉल करते हैं
 – 
waqar khan
16 नवम्बर 2020, 16:13
एक IndexOutOfBoundException मौजूद है जो कुछ हद तक आपके एडॉप्टर की सूची से संबंधित है। आपको कुछ और कोड जोड़ना चाहिए।
 – 
Debarshi Bhattacharjee
17 नवम्बर 2020, 00:25
1
मुझे और क्या जोड़ना चाहिए ... मेरे पास इसके सभी एडेप्टर कोड हैं ... जब भी मेरे एंड्रॉइड फोन पर कोई सूचना आती है तो मैं अपनी सूची को रीफ्रेश करता हूं और नोटिफिकेशनडेटासेट चेंज किया जाता है .... लेकिन जब मैं स्क्रॉलिंग सूची कर रहा हूं और उस समय एक अधिसूचना सूची आई अपडेट हो गई और उसका क्रैश ... मेरे पास बस इतना ही है
 – 
waqar khan
17 नवम्बर 2020, 08:11

1 उत्तर

सबसे बढ़िया उत्तर

मैं उसी लेआउट में मूल विज्ञापन के लिए उपयोग किए गए फ्रेम लेआउट को जोड़कर अपनी समस्या को हल करता हूं और दृश्यता को समाप्त कर देता हूं ... और विज्ञापन को केवल उस स्थिति पर दृश्यमान दिखाता हूं जिसे मैं विज्ञापन दिखाना चाहता हूं ...

0
waqar khan 11 पद 2020, 10:36