2010-11-01 11 views
0

J'écris ma première application Android, et cela fait plus d'une semaine que je me bats avec ça. Il semble que la base de toutes les applications Android encore je ne peux pas comprendre comment le faire. Par exemple, si vous êtes dans le menu des paramètres Android, vous avez une liste et vous cliquez sur "À propos", il vous amène à la "Actvitiy" etc.Android: Comment utilisez-vous ListView pour démarrer une activité?

J'ai besoin de mon application pour le faire aussi, je avoir 5 éléments de menu que je veux être en mesure de sélectionner et aller à l'activité pour l'élément sélectionné.

Actuellement, j'ai mes éléments dans un string_array, mais je n'ai rien qui correspond au nom de la chaîne avec le nom de l'activité que je veux goto.

Quelqu'un peut-il me donner quelques conseils? Je me bats vraiment ici, un peu dépassé par la documentation. Merci d'avance!

Répondre

1

Vérifiez comment cela est fait ici dans l'application Settings. Ils utilisent un PreferenceActivity et incorporent le Intent dans le fichier XML.

 <com.android.settings.IconPreferenceScreen 
     android:title="@string/radio_controls_title" 
     settings:icon="@drawable/ic_settings_wireless"> 
     <intent 
      android:action="android.intent.action.MAIN" 
      android:targetPackage="com.android.settings" 
      android:targetClass="com.android.settings.WirelessSettings" /> 
     </com.android.settings.IconPreferenceScreen> 
+0

C'est proche de ce que je veux, mais cette application est basée sur preferencesActivity qui est censé être utilisé pour vos préférences d'applications, pas vraiment pour votre application tout lol – SickNick

2

Vous devriez commencer la lecture de la Developer's Guide

Une section particulière, vous devez noter le Application Fundamentals et Intents

composants Activation: intentions

Les fournisseurs de contenu sont activés lorsque ils sont ciblés par une requête d'un ContentResolver. Les trois autres composants - activités, services et récepteurs de diffusion - sont activés par messages asynchrones appelés intents. Une intention est un objet Intent qui contient le contenu du message. Pour activités et services, il nomme l'action demandée et spécifie l'URI des données sur lesquelles agir, parmi autres choses. Par exemple, il peut transmettre une demande pour une activité à présenter une image à l'utilisateur ou laisser l'utilisateur éditer du texte. Pour les récepteurs diffusés, l'objet Intent nomme l'action en cours d'annonce. Par exemple, il peut annoncer aux parties intéressées que le bouton de l'appareil photo a été appuyé sur .

Il existe des méthodes distinctes pour activation de chaque type de composant:

  • Une activité est lancée (ou donné quelque chose de nouveau à faire) en passant un objet intention de Context.startActivity() ou Activity.startActivityForResult(). L'activité répondante peut regarder l'intention initiale qui a provoqué lancée en appelant sa méthode getIntent() . Android appelle la méthode onNewIntent() de l'activité pour lui transmettre les intentions suivantes .

    Une activité démarre souvent la suivante. S'il attend un retour de l'activité qu'il commence, il appelle startActivityForResult() au lieu de startActivity(). Par exemple, si démarre une activité qui permet à l'utilisateur de choisir une photo, il peut s'attendre à être renvoyé la photo choisie.Le résultat est renvoyé dans un objet Intent qui est transmis à la méthode onActivityResult() de l'activité d'appel .

  • Un service est démarré (ou de nouvelles instructions sont données à un service en cours) par le passage d'un objet à intention Context.startService(). Android appelle la méthode onStart() du service et lui transmet l'objet Intent.

    De même, l'intention peut être transmis à Context.bindService() pour établir une connexion permanente entre le composant appelant et un service cible . Le service reçoit l'objet Intention dans un appel onBind(). (Si le service est pas déjà en cours d'exécution, bindService() peut éventuellement commencer à il.) Par exemple, une activité peut établir une connexion avec la musique service de lecture mentionné plus tôt afin qu'il peut fournir à l'utilisateur la des moyens (une interface utilisateur) pour contrôlant la lecture. L'activité appelle bindService() pour configurer cette connexion, puis appelle les méthodes définies par le service pour affecter la lecture .

    Une section suivante, intitulée Appels de procédure distante, contient plus de détails sur la liaison à un service.

  • Une application peut déclencher une émission par le passage d'un objet de relation à des méthodes telles que Context.sendBroadcast(), Context.sendOrderedBroadcast() et Context.sendStickyBroadcast() dans les de leurs variations. Android offre l'intention de tous les récepteurs de diffusion intéressés en appelant leurs méthodes onReceive() .

Pour en savoir plus sur les messages d'intention, voir l'article séparé , Intentions et l'intention Filtres.