2012-01-06 3 views
1

コンテンツプロバイダを使用して名前と電話番号を追加しました。追加したコンテンツを表示したいときは、名前だけを表示できますが返す電話番号NULL、参照IAMのための私のコード、私は修正してください、私は何か間違ったことをやっているなぜ私はcontentproviderによって返されたphonenumberを返すのですか?

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 

として値を取得し、ログに列インデックスの値を表示しようとしてい

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()); 
    } 
} 

を公開

+0

をstartactivityforresultあなたはPhones.CONTENT_URIが連絡先に関連するすべての電話番号の一覧を示しながらPeople.CONTENT_URIは、プライマリ電話番号が一覧表示されます推測instead.I「Phones.CONTENT_URI」を使ってみました。 –

+0

iamを更新する方法phonenumberを更新できません – shvivek

+0

あなたの助けを借りてくれてありがとう、それは私のために働く – shvivek

答えて

0

あなただけの連絡先リストから連絡先IDまたは番号を得ることに興味を持っているならば、あなたはので、2つのステップ

ステップ1メイク意図

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

ステップ2を行い、結果を開始アクティビティを使用して結果を取得したい場合

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; 
      } 
    } 
関連する問題