0

ContactContract (ネイティブ Android 連絡先アプリをロードする) に基づいてインテントをアプリ内のアクティビティに作成しました。別のリストビューを構築するのではなく、アクションバーにアクションを追加することは可能ですか? Androidのインターフェースに標準化しようとしている

コードは次のとおりです。

    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

オプション メニュー項目を「アクション項目」として追加することにより、アクション バーにアクションを追加します。ドキュメントを参照してください。オプション メニュー項目と同様に、インテントをアクション項目に関連付けることができます。

ただし、リスト ビュー自体にアクションを追加しない理由はありません。ユーザーが連絡先をクリックすると、インテントが起動します。これは setOnItemClickListener() で行うことができます。ユーザーがリスト内のアイテムをクリックしてから、アクション アイテムをクリックしてインテントを送信する必要がある場合は、アイテム クリック リスナーを使用して、選択した連絡先の行 ID を保存し、アクション アイテム リスナーからインテントを送信します。

個々のアイテムのコンテンツ URI を作成するには、ContactsContract.Contacts.CONTENT_VCARD_URI と、アイテムを裏付ける行の LOOKUP_ID 値を使用して URI を作成します。これらを結合するために使用するメソッドは、android.net.Uri.withAppendedPath(Uri, String) です。

于 2012-11-27T00:41:02.753 に答える