मैं सिर्फ आईडी के बजाय कर्सर का वर्तमान रिकॉर्ड प्राप्त करना चाहता हूं, ताकि मैं एक संदर्भ मेनू में हेरफेर कर सकूं।कर्सर से ContextMenu में डेटा कैसे प्राप्त करें
मैं इस उदाहरण here पता चलता है कि आप कैसे आईडी प्राप्त करने के लिए देखा था:
@Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case DELETE_ID:
AdapterView.AdapterContextMenuInfo info=
(AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
delete(info.id);
return(true);
}
return(super.onOptionsItemSelected(item));
}
यह बहुत अच्छा है क्योंकि यह मुझे क्लिक किया संदर्भ मेनू के उचित SQLite डेटाबेस आईडी जो मुझे लिखने के लिए अनुमति देगा प्राप्त करने के लिए अनुमति देता है एक लुकअप करने के लिए एक समारोह। लेकिन निश्चित रूप से मैं सिर्फ वर्तमान कर्सर का पुन: उपयोग कर सकता हूं?
मैं यह कर की कोशिश की:
Cursor c = (Cursor) this.getListAdapter().getItem((int) info.id);
String itemPriority = c.getInt(1);
Log.v(TAG, "Current item:" + itemPriority);
लेकिन कर्सर लाइन बस रिकॉर्ड मैं के बाद कर रहा हूँ के बजाय डेटाबेस का स्कीमा वापस जाने के लिए लगता है।
क्या कोई कृपया कुछ प्रकाश डाला जा सकता है।
संपादित करें: @azgolfer के लिए धन्यवाद मुझे समाधान मिला है। मैं एडाप्टर को पॉप्युलेट करने के लिए fillData() विधि का उपयोग करता हूं। आम तौर पर यह कोई चर के साथ घोषित किया जाता है। मुझे इस विधि को फ़ील्ड चर के साथ फिर से परिभाषित करना पड़ा। curstor एडाप्टर onContextItemSelected में दृश्यमान बनाने के लिए कोड के प्रासंगिक भाग यहाँ है:
private void fillData() {
Cursor itemsCursor = mDbHelper.fetchAllItemsFilter(mListId, mStatusFilter);
startManagingCursor(itemsCursor);
mItemAdaptor = new ItemAdapter(this, itemsCursor);
this.setListAdapter(mItemAdaptor);
}
आप पुन: उपयोग से क्या मतलब है
सबसे पहले, क्या उपयोगकर्ता दबाया की स्थिति का निर्धारण? और 'c.getInt (1) 'उस कर्सर पंक्ति के सूचकांक 1 जो भी हो रहा है। तो बस उस कर्सर पंक्ति की अन्य अनुक्रमणिका से रिकॉर्ड्स प्राप्त करें, जैसे 'c.getString (2)'। जब तक आप कुछ और करने की कोशिश नहीं कर रहे हैं। – Andy
क्षमा करें मुझे लगता है कि काम पुन: उपयोग "उपयोग" होना चाहिए। मुद्दा यह है कि कर्सर डेटा वापस नहीं करता है, बस स्कीमा। –
क्या आप कृपया 'आइटम प्राथमिकता' दिखाए गए प्रिंट को प्रिंट कर सकते हैं? – Andy