Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
268 L’art du développement Android
Uri.parse("content://contacts/people"));
startActivityForResult(i, PICK_REQUEST);
}
});
viewButton=(Button)findViewById(R.id.view);
viewButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
startActivity(new Intent(Intent.ACTION_VIEW, contact));
}
});
restoreMe(savedInstanceState);
viewButton.setEnabled(contact!=null);
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode==PICK_REQUEST) {
if (resultCode==RESULT_OK) {
contact=data.getData();
viewButton.setEnabled(true);
}
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
if (contact!=null) {
outState.putString("contact", contact.toString());
}
}
private void restoreMe(Bundle state) {
contact=null;
if (state!=null) {
String contactUri=state.getString("contact");
if (contactUri!=null) {
contact=Uri.parse(contactUri);
}
}
}
}
Dans l’ensemble, ceci ressemble à une activité normale... parce que c’en est une. Initialement, le "modèle" – un contact désigné par une Uri – vaut null. Il est initialisé à la suite
du lancement de la sous-activité ACTION_PICK. Sa représentation sous forme de chaîne est
Livre Android.book Page 268 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 283/391

Suivant