मैं एंड्रॉइड में स्नैकबार का उपयोग कर रहा हूं और मैंने एक क्रिया लागू की है ताकि उपयोगकर्ता कार्रवाई को पूर्ववत कर सके (कार्रवाई सूचीदृश्य में सभी आइटम साफ़ कर रही है)। सूचीदृश्य में आइटम को वापस लेना और जोड़ना पहले से ही किया जा चुका है और ठीक काम कर रहा है ।स्नैक्सबार क्रिया में, मैं कैसे सुनिश्चित कर सकता हूं कि डेटाबेस से सॉफ्ट-हटाए गए रिकॉर्ड को स्थायी रूप से हटाना सुरक्षित है?
मेरी समस्या यह है कि, आइटम sqlite डेटाबेस में संग्रहीत हैं और मैं टेबल से आइटम कैसे हटा सकता हूं? (मुझे कैसे पता चलेगा कि उपयोगकर्ता ने पूर्ववत बटन पर क्लिक नहीं किया है, ताकि मैं डेटाबेस से डेटा को पूरी तरह से हटा सकूं)।
यह OnOptionsItemSelcted()
case R.id.action_clear:
final List<Word> temp = new ArrayList<Word>(data);
data.clear();
adapter.notifyDataSetChanged();
View view = findViewById(R.id.layoutFavWords);
Snackbar.make(view,"Deleted Saved Selection.", Snackbar.LENGTH_LONG).
setAction("Undo", new OnClickListener() {
@Override
public void onClick(View v) {
for(Word word:temp)
data.add(word);
adapter.notifyDataSetChanged();
}
}).show();
break;
तो अगर उपयोगकर्ता Snackbar के दृश्य की अवधि के दौरान वापस लाएं बटन क्लिक नहीं किया, तो मैं डेटाबेस से डेटा को स्थायी रूप से हटाने की आवश्यकता के अंदर कोड है ।
इसके लिए कोई समाधान?
उन्हें तुरंत हटा सकते हैं और अगर पूर्ववत पर प्रेस उन्हें फिर से डालने? – Blackbelt
हां, यह एक और विकल्प है। लेकिन क्या मैं ऐसा करना चाहता हूं जो मैं करना चाहता हूं ?? केवल तभी हटाएं जब उपयोगकर्ता ने पूर्ववत बीटीएन – chathura
इमो को पर्याप्त रूप से क्लिक नहीं किया है। आप मानते हैं कि उपयोगकर्ता जानता है कि वह क्या चाहता है लेकिन वह अपना दिमाग बदल सकता है (पूर्ववत)। या आप शायद 'पुष्टिकरण की तरह' स्नैकबार चाहते हैं। प्रलेखन को देखते हुए यह टोस्ट – Blackbelt