2014-09-24 54 views
1

我正在開發此聯繫人應用程序。到目前爲止,我已經生成了一個ListView女巫有聯繫人姓名和電話號碼。當您點擊聯繫人時,它會開始新的活動並顯示聯繫人姓名和電話號碼。ListView中的Android數據

我想要做的是ListView我只顯示聯繫人姓名,當你點擊列表中的聯繫人,然後活動開始,你可以看到名字和數字。

我想也許我可以在ListView中隱藏一些信息,但我沒有發現任何好的東西。

那麼有沒有人有任何建議?

在此先感謝。

+0

不確定你在問什麼 - 「當你點擊聯繫人時,它開始新的活動並顯示聯繫人姓名和電話號碼。」與您點擊列表中的聯繫人非常相似,然後活動開始,您可以看到姓名和號碼。「 – 2014-09-24 22:00:26

+0

okei對不起,我有點不清楚,當程序啓動時,我的第一個內容是什麼。它顯示了聯繫人列表,我希望它只顯示聯繫人的名字。但現在它顯示了姓名和電話號碼。 – user1032336 2014-09-24 22:12:57

回答

3

首先,僅查詢聯繫人姓名和ID:

在你的清單,你必須聲明

<uses-permission android:name="android.permission.READ_CONTACTS" /> 
​​

一旦你得到了與接觸,你必須光標通過,在一個CursorAdapter

private final static String[] FROM_COLUMNS = { 
     Build.VERSION.SDK_INT 
       >= Build.VERSION_CODES.HONEYCOMB ? 
       Contacts.DISPLAY_NAME_PRIMARY : 
       Contacts.DISPLAY_NAME 
}; 
private final static int[] TO_IDS = { 
     android.R.id.text1 
}; 


public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    ... 
    // Gets the ListView from the View list of the parent activity 
    mContactsList = 
     (ListView) getActivity().findViewById(R.layout.contact_list_view); 
    // Gets a CursorAdapter 
    mCursorAdapter = new SimpleCursorAdapter(
      getActivity(), 
      R.layout.contact_list_item, 
      null, 
      FROM_COLUMNS, TO_IDS, 
      0); 
    // Sets the adapter for the ListView 
    mContactsList.setAdapter(mCursorAdapter); 

    // Prepare the loader. Either re-connect with an existing one, 
    // or start a new one. 
    getLoaderManager().initLoader(0, null, this); 

} 

public void onLoadFinished(Loader<Cursor> loader, Cursor data) { 
    // Swap the new cursor in. (The framework will take care of closing the 
    // old cursor once we return.) 
    mAdapter.swapCursor(data); 

    // The list should now be shown. 
    if (isResumed()) { 
     setListShown(true); 
    } else { 
     setListShownNoAnimation(true); 
    } 
}