2011-01-31 8 views
18

के आकार के साथ मेरे कोड नीचे हैं और मुझे android.database.CursorIndexOutOfBoundsException मिला है: इंडेक्स -1 ने 2 त्रुटि के आकार के साथ अनुरोध किया है। क्या कोई मुझे बता सकता है कि इसे कैसे हल किया जाए?android.database.CursorIndexOutOfBoundsException: इंडेक्स -1 अनुरोध किया गया है, 2

ContentResolver cr = getContentResolver(); 
    Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, 
    null, null, null, null); 
    if (Integer.parseInt(cur.getString(
    cur.getColumnIndex(People.PRIMARY_PHONE_ID))) > 0) { 

    Cursor pCur = cr.query(
    Contacts.Phones.CONTENT_URI, 
    null, 
    Contacts.Phones.PERSON_ID +" = ?", 
    new String[]{id}, null); 
    int i=0; 
    int pCount = pCur.getCount(); 
    String[] phoneNum = new String[pCount]; 
    String[] phoneType = new String[pCount]; 
    while (pCur.moveToNext()) { 
    phoneNum[i] = pCur.getString(
     pCur.getColumnIndex(Contacts.Phones.NUMBER)); 
    phoneType[i] = pCur.getString(
     pCur.getColumnIndex(Contacts.Phones.TYPE)); 
    i++; 
    } 
    } 
} 
} 
+0

'फोन टाइप' क्या है। साथ ही, आपको अपना प्रश्न संपादित करने और अपने कोड को सही तरीके से प्रारूपित करने की आवश्यकता है। – Falmarri

+0

यह त्रुटि हो सकती है bcoz आपने ur emulator में कोई संपर्क नहीं जोड़ा है .......... –

+0

क्या आपने AndroidManifest में उचित अनुमतियां जोड़ दी हैं? – Sriram

उत्तर

61

आप Cursor वस्तु से डेटा एक्सेस कर रहे हैं की तुलना में आप स्थिति Cursor वस्तु होना आवश्यक है।

वास्तव में आपको इससे पहले डेटा तक पहुंचने का प्रयास करने से पहले Cursor को पहली पंक्ति में रखना होगा।

लाइन cur.moveToFirst(); को अपने कोड में Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); लाइन के बाद रखें।

और यह भी सुनिश्चित करें कि आप संपर्क पुनर्प्राप्त करने के लिए उपयोग नहीं कर रहे हैं और पुराने API हैं।

+0

tks। मुझे एक और त्रुटि मिली। के कारण: java.lang.IleglegalStateException: पंक्ति 0 कॉल -1 से फील्ड स्लॉट प्राप्त करें – user596379

+1

विफल रहा है इसका मतलब है कि आप शायद एक अवैध कॉलम नाम का उपयोग कर रहे हैं। और यदि आप केवल संपर्क (मोबाइल नंबर) पढ़ना चाहते हैं तो इस सवाल पर एक नज़र डालें http://stackoverflow.com/questions/1721279/how-to-read-contacts-on-android-2-0 –

+0

ठीक है। टी.के.एस। मैं लिंक का प्रयास करूंगा। अगर मैं किसी भी और qns gt gt मैं इसे फिर से पोस्ट करेंगे। – user596379

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^