मैं अपने रीसाइक्लर व्यू के लिए स्वाइप सक्षम करने के लिए अपने एंड्रॉइड एप्लिकेशन के लिए स्वाइप करने योग्य रीसाइक्लिंग व्यू का उपयोग कर रहा हूं। RecyclerView में कार्ड व्यू की एक सूची है।RecyclerView.getChild (अनुक्रमणिका) सूची स्क्रॉल होने पर शून्य दिखाई देती है (इंडेक्स गड़बड़ हो जाता है)
मैं जब बाईं ओर स्वाइप करें (प्रथम कड़ी चोट शो पूर्ववत, अगले कड़ी चोट हटाना उत्पन्न करते हैं)
मैं निम्नलिखित कोड कोशिश कर रहा हूँ (आंशिक रूप से काम कर मुझे लगता है) कार्ड के लिए पूर्ववत कार्यक्षमता जो हटाया नहीं जाएगा लागू करने के लिए कोशिश कर रहा था
SwipeableRecyclerViewTouchListener srvTouchListner = new SwipeableRecyclerViewTouchListener(rvTimerList,
new SwipeableRecyclerViewTouchListener.SwipeListener(){
@Override
public boolean canSwipe(int i) {
return true;
}
@Override
public void onDismissedBySwipeLeft(RecyclerView recyclerView, int[] ints) {
for(int position : ints){
View view = recyclerView.getChildAt(position);
if (view.getTag(R.string.card_undo) == null) {
if(viewStack == null) {
saveToViewStack(position, view);
final ViewGroup viewGroup = (ViewGroup) view.findViewById(R.id.time_card2);
view.setTag(R.string.card_undo, "true");
viewGroup.addView(view.inflate(TimerSummary.this, R.layout.timeslot_card_undo, null));
}
} else {
Log.d(TAG, "Removing Item");
deleteTimeSlot(timerInstanceList.get(position));
Toast.makeText(TimerSummary.this, "Deleted!", Toast.LENGTH_SHORT).show();
timerInstanceList.remove(position);
finalSummaryAdapter.notifyItemRemoved(position);
}
}
finalSummaryAdapter.notifyDataSetChanged();
}
@Override
public void onDismissedBySwipeRight(RecyclerView recyclerView, int[] ints) {
for (int position:ints){
View view = recyclerView.getChildAt(position);
if(view.getTag(R.string.card_undo) != null && view.getTag(R.string.card_undo).equals("true")){
viewStack = null;
recyclerView.setAdapter(finalSummaryAdapter);
}
}
}
});
आइटम अधिक (स्क्रॉल जरूरतों)
View view = recyclerView.getChildAt(position);
एक अशक्त संदर्भ, जिसके लिए ऐप्लिकेशन दुर्घटना का कारण बनता है देता है होते हैं।
मुझे संदेह है कि मैं देखने के लिए गलत विधि का उपयोग कर रहा हूं। मुझे व्यूहोल्डर से संबंधित कुछ का उपयोग करना चाहिए, मैं वास्तव में इस तरह के भ्रमित हूं कि व्यूहोल्डर से जो दृश्य आप चाहते हैं उसे प्राप्त करने के लिए।
यदि कोई भी मदद करता है जो कुछ भी साझा कर सकता है, तो यह बहुत अच्छा होगा! अगर कोई इसे चाहता है तो मुझे कोई और जानकारी प्रदान करने में खुशी होगी,
मैं इस व्यूअरधारक से किसी भी विचार को कैसे एक्सेस करूं, क्या मैं लेआउट बदल सकता हूं और एक नया फुला सकता हूं? –
वैसे भी मैं एक कार्डव्यू का उपयोग कर रहा हूं जो पहली बार छुपा हुआ है जब उपयोगकर्ता किसी आइटम को हटाने का प्रयास करता है, इस तरह मैं रीसाइक्लिंग व्यू से सीधे दृश्यों तक पहुंचने का प्रयास करते समय गड़बड़ी से बच सकता हूं।यह ठीक काम कर रहा है, मैं इस अवधारणा का उपयोग तब तक करूँगा जब तक कि मैं रीसाइक्लर से दृश्यमान रूप से विचार नहीं कर पाता हूं –
@yigit क्या आप थोड़ा और विस्तार कर सकते हैं? आपने कहा था कि "इसका उपयोग करना चाहिए ..."। क्या यह अपेक्षित व्यवहार या बग है? (क्यूं कर?)। मैं RecyclerView को स्क्रोल करने योग्य दृश्य के रूप में देखता हूं, इसलिए यदि आप मुझसे पूछें तो यह थोड़ा अजीब है। – GMan