Comment puis-je appeler une autre activité à partir d'une (l'actuelle) activité?
Et pour la même chose, je veux appeler une activité qui contient une boîte de dialogue de mon activité actuelle.
Comment puis-je appeler une autre activité à partir d'une (l'actuelle) activité?
Et pour la même chose, je veux appeler une activité qui contient une boîte de dialogue de mon activité actuelle.
Première question:
Utilisez l'intention d'appeler une autre activité. Dans le manifeste, vous devez ajouter
<activity android:name="ListViewImage"></activity>
<activity android:name="com.company.listview.ListViewImage">
</activity>
Et dans votre activité actuelle,
btListe = (ImageButton)findViewById(R.id.Button_Liste);
btListe.setOnClickListener(new OnClickListener()
{ public void onClick(View v)
{
intent = new Intent(main.this, ListViewImage.class);
startActivity(intent);
finish();
}
});
Deuxième question:
sendButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String valueString = editValue.getText().toString();
long value;
if (valueString != null) {
value = Long.parseLong(valueString);
}
else {
value = 0;
}
Bundle sendBundle = new Bundle();
sendBundle.putLong("value", value);
Intent i = new Intent(Activity1.this, Activity2.class);
i.putExtras(sendBundle);
startActivity(i);
finish();
}
});
et dans l'activité 2:
Bundle receiveBundle = this.getIntent().getExtras();
final long receiveValue = receiveBundle.getLong("value");
receiveValueEdit.setText(String.valueOf(receiveValue));
callReceiverButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(Activity2.this, Receiver.class);
i.putExtra("new value", receiveValue - 10);
}
});
J'ai utilisé le code suivant sur mon exemple d'application pour démarrer une nouvelle activité.
Button next = (Button) findViewById(R.id.TEST);
next.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent myIntent = new Intent( view.getContext(), MyActivity.class);
startActivityForResult(myIntent, 0);
}
});
Comme nous ne savons pas quels sont les noms de vos classes d'activités, appelons votre activité actuelle Activity1, et celle que vous souhaitez ouvrir - Activity2 (ce sont les noms des classes)
Vous devez d'abord définir une intention qui sera envoyée à Activity2:
Intent launchActivity2 = new Intent(Activity1.this, Activity2.class);
Ensuite, vous pouvez simplement lancer l'activité en exécutant:
startActivity (launchActivity2);
Cette tâche peut être accomplie à l'aide de l'un des android bâtiment principal de bloc nommé d'Intentions et de l'Une des méthodes public void startActivity (Intent intent)
qui appartient à votre classe d'Activité.
Une intention est une description abstraite d'une opération à effectuer. Il peut être utilisé avec startActivity pour lancer une Activité, broadcastIntent pour l'envoyer aux intéressés BroadcastReceiver composants, et startService(Intent) ou bindService(But, ServiceConnection, int) pour communiquer avec un Service d'arrière-plan.
Une Intention prévoit une installation pour la réalisation de la fin d'exécution de liaison entre le code dans des applications différentes. Son plus grand usage est dans le lancement d'activités, où il peut être considéré comme de la colle entre les activités. C'est fondamentalement une passive de données de la structure de la tenue d'une description abstraite d'une action à effectuer.
Consulter les docs officielles -- http://developer.android.com/reference/android/content/Intent.html
public void startActivity (Intent intent)
-- Utilisé pour lancer une nouvelle activité.
Donc, supposons que vous avez deux classes d'Activité et sur un bouton, cliquez sur l' OnClickListener()
vous voulez passer d'une Activité à l'autre alors ...
PresentActivity -- C'est votre activité actuelle à partir de laquelle vous voulez aller à la deuxième activité.
NextActivity -- C'est votre prochaine Activité à laquelle vous souhaitez déplacer (Il peut contenir n'importe quoi, comme vous dites boîte de dialogue).
Donc, l'Intention sera comme ceci
Intent(PresentActivity.this, NextActivity.class)
Enfin, ce sera le code complet
public class PresentActivity extends Activity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.content_layout_id);
final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
Intent activityChangeIntent = new Intent(PresentActivity.this, NextActivity.class);
// currentContext.startActivity(activityChangeIntent);
PresentActivity.this.startActivity(activityChangeIntent);
}
});
}
}
Cet exemple est lié à clic de bouton, vous pouvez utiliser le code n'importe où qui est écrit à l'intérieur de bouton, cliquez sur l' OnClickListener()
à n'importe quel endroit où vous souhaitez basculer entre vos activités.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.