Je suis nouveau sur Android, et j'essaie de faire un seul bouton ouvert 2 activités, mais ne fonctionne pas pour moi. Ex: sur Mainacitivity
, il y a btn_mathematics
et btn_physics
ouvrir la même activité (Main2acitivity
) et trouver btn_semester1
et btn_semester2
, chaque bouton ouvre 2 autres activités pour les modules semestre.Bouton avec si condition
Si l'utilisateur a cliqué sur le Mainacitivity: btn_mathematics
--->btn_semester1
---> aura ModulesMAT
et si vous cliquez sur le même bouton btn_semester1: btn_physics
--->btn_semester1
---> aura ModulesPHY
.
MainActivity XML:
<Button
android:id="@+id/btn_mathematics"
android:onClick="btn_mathematics"
android:text="@string/btn_mathematics/>
<Button
android:id="@+id/btn_physics"
android:onClick="btn_physics"
android:text="@string/btn_physics"/>
XML Main2Activity:
<Button
android:id="@+id/btn_semester1"
android:onClick="btn_semester1"
android:text="@string/btn_semester1"/>
<Button
android:id="@+id/btn_semester2"
android:onClick="btn_s2"
android:text="@string/btn_semester2"/>
Je suppose que pas besoin d'ajouter xml pour ModulesMAT et ModulesPHY, son assez similaire aux autres.
et maintenant le code java:
MainActivity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void btn_mathematics (View v) {
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
startActivity(intent);
}
`public void btn_physics (View v) {
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
startActivity(intent);
}
}
Main2Activity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
public void btn_semester1 (View v)
{
Intent i = getIntent();
String id = i.getStringExtra("id");
if(id == "btn_mathematics")
{
i = new Intent(this, ModulesMAT.class);
startActivity(i);
}
else if (id == "btn_physics")
{
i = new Intent(this, ModulesPHY.class);
startActivity(i);
}
}
public void btn_semester2 (View v)
{
Intent i = getIntent();
String id = i.getStringExtra("id");
if(id == "btn_mathematics")
{
i = new Intent(this, ModulesMAT2.class);
startActivity(i);
}
else if (id == "btn_physics")
{
i = new Intent(this, ModulesPHY2.class);
startActivity(i);
}
}
Vous pouvez transmettre des données entre les activités à travers le 'Intent'. Voici un exemple https://stackoverflow.com/a/2091482/1552587 – Titus
Merci pour le commentaire, puis-je avoir un exemple sur mon code? – itray