2011-12-06 6 views
1

Existe-t-il une possibilité dans Android d'implémenter un formulaire de contacts comme c'est réalisé sur l'iPhone?Formulaire Contacts Android

Donc, je veux dire, y a-t-il un par défaut Android Contacts-Site dans le cadre qui peut être utilisé? Il ne doit pas ressembler à l'iPhone.

enter image description here

Je veux commencer cette activité avec Extras (i.putExtra) qui contiennent les données de contact, de sorte que le contact qui est sélectionné dans l'activité précédente sera affichée dans ces domaines. Après cela, il devrait y avoir la possibilité de ajouter toutes ces informations aux Contacts.

+1

parlez-vous de le rendre _behave_ comme le formulaire de contacts iphone ou le rendre _look_ like it? Vous devriez clarifier votre question. – Alex

+0

Je veux le faire _behave_ comme les contacts de l'iPhone. Ça ne doit pas ressembler. Donc, je veux savoir s'il y a un Android Contacts-Site par défaut dans le framework. J'ai édité ma question, merci pour votre note – 10ff

Répondre

2

Permettre à l'utilisateur de sélectionner un contact en utilisant ce ..

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

2) Appeler le contact Picker

Au sein de votre activité, créer une intention qui demande au système de trouver une activité qui peut effectuer une action PICK à partir des éléments de l'URI des contacts.

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); 

appel startActivityForResult, en passant dans cette intention (et un nombre entier de code de demande, PICK_CONTACT dans cet exemple). Cela amènera Android à lancer une activité enregistrée pour prendre en charge ACTION_PICK sur People.CONTENT_URI, puis revenir à cette activité lorsque la sélection est effectuée (ou annulée).

startActivityForResult(intent, PICK_CONTACT); 


@Override 
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()) 
{ 
    String name = c.getString(c.getColumnIndexOrThrow(People.NAME)); 

} 
} 
break; 
} 
} 

Maintenant, une fois un contact sélectionné, vous aurez les informations dont vous avez besoin pour remplir vos edittexts et tout ci-dessus.

Ceci est un excellent tutoriel sur la façon de procéder. Bonne chance! Cela devrait vous aller bien sur votre chemin! Working with Androind contacts

+0

Merci, mais je pense que je ne pouvais pas préciser ce que je veux. Quand je suis vos instructions, je reçois ceci: [PICTURE] (http://www.xup.in/dl,96926745/getContact.jpg/) Mais je veux juste envoyer des données - que je n'ai pas dans mon contacts sur le téléphone mais dans le type de ** chaînes dans une autre activité ** - dans quelque chose comme un ** Contact-Edit/Add-Activity **. En ce moment je pense que je dois créer une propre activité avec EditTexts, arrangé comme un formulaire. Ou y a-t-il une autre solution? – 10ff

+1

qui sonne à peu près juste. Créer une mise en forme dans la forme d'un formulaire, puis permettre à l'utilisateur de modifier le texte dans les champs, et peut-être avoir un bouton d'envoi, qui fera ce que vous voulez avec les informations que l'utilisateur a entré. –