2012-01-06 49 views
1

我已經通過使用內容提供商添加了姓名和電話號碼,當我想要顯示我添加的內容時,我只能看到姓名,但只能看到電話號碼NULL,以供參考IAM發佈我的代碼,爲什麼我通過contentprovider獲取電話號碼返回NULL

private void displayContacts() 
{ 
    String[] columns = new String[] {People.NAME,People.NUMBER}; 
    Uri mContacts = People.CONTENT_URI; 
    Cursor mCur = managedQuery(mContacts,columns,null,null,null); 
    if (mCur.moveToFirst()) 
    { 
     String name = null; 
     String phoneNo = null; 
     do 
     { 
     name = mCur.getString(mCur.getColumnIndex(People.NAME)); 
     Log.e("---CURSOR POSITION","--VALUE OF CURSOR--"+mCur.getColumnIndex(People.NAME)); 
     phoneNo = mCur.getString(mCur.getColumnIndex(People.NUMBER)); 
     Log.e("---CURSOR POSITION","--VALUE OF CURSOR--"+mCur.getColumnIndex(People.NUMBER)); 
     Toast.makeText(NativeContentProvider.this, name + " " + phoneNo, Toast.LENGTH_SHORT).show(); 
     } while (mCur.moveToNext()); 
    } 
} 

我必須嘗試顯示列索引值也會在LOG我得到的值作爲

01-06 05:49:50.234: ERROR/---CURSOR POSITION(421): --VALUE OF CURSOR--0 

01-06 05:49:50.234: ERROR/---CURSOR POSITION(421): --VALUE OF CURSOR--1 

我做得不對請指正

+0

您是否嘗試過使用「Phones.CONTENT_URI」 instead.I猜People.CONTENT_URI只列出主要的電話號碼,而Phones.CONTENT_URI列出所有與一個聯繫人的電話號碼。 – 2012-01-06 06:18:06

+0

如何更新iam無法更新電話號碼 – shvivek 2012-01-06 06:28:38

+0

嘿manish感謝您的幫助sugesstion,它適用於我 – shvivek 2012-01-06 06:34:20

回答

0

,如果你有興趣,從聯繫人列表中獲取聯繫人ID或數只,如果你想獲得的結果,所以使用的結果開始的活動,做兩步

第1步請意圖

Intent intent = new Intent(Intent.ACTION_PICK,Phone.CONTENT_URI); 
startActivityForResult(intent, PICK_CONTACT); 

第2步startactivityforresult

public void onActivityResult(int reqCode, int resultCode, Intent data) { 
      super.onActivityResult(reqCode, resultCode, data); 
      switch (reqCode) { 
        case (PICK_CONTACT): 
        if (resultCode == Activity.RESULT_OK) { 
       Uri contactData = data.getData(); 
      Cursor c = managedQuery(contactData, null, null, null, null); 
        if (c.moveToFirst()) { 
      Stringname=c.getString(c.getColumnIndexOrThrow(Phone.NUMBER))+":c.getInt(c.getColumnIndexrThrow(People.NUMBER))";      
           txtContacts1.setText(name); 
            } 
          } 
          break; 
      } 
    } 
相關問題