0

Created Intent based on ContactContract (load up Native Android Contact App) into an activity in an app. Is it possible to add an Action to the Action Bar versus building a separate List view. Trying to standardize on Android's interface

Here is the code:

    setContentView(R.layout.contact_list);
    ActionBar actionBar = getActionBar();
    actionBar.setTitle(R.string.contacts);
    actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_HOME); 

    Intent intent = new Intent(Intent.ACTION_VIEW,ContactsContract.Contacts.CONTENT_URI);  
    startActivityForResult(intent, PICK_CONTACT);  

    // ContentResolver for Contacts
    getContacts();
4

1 回答 1

0

您可以通过将选项菜单项添加为“操作项”来将操作添加到操作栏。请参阅文档。就像选项菜单项一样,您可以将 Intent 与操作项相关联。

但是,为什么不直接向列表视图本身添加一个操作:当用户单击联系人时,您的 Intent 就会触发。您可以使用 setOnItemClickListener() 来执行此操作。如果您真的想让用户单击列表中的项目,然后单击操作项以发送 Intent,请使用项目单击侦听器存储所选联系人的行 id,然后从操作项侦听器发送 Intent。

要为单个项目构建内容 URI,请使用 ContactsContract.Contacts.CONTENT_VCARD_URI 和支持该项目的行中的 LOOKUP_ID 值来构建 URI。用于组合这些的方法是 android.net.Uri.withAppendedPath(Uri, String)。

于 2012-11-27T00:41:02.753 回答