Bonjour, je suis nouveau dans la programmation et j'utilise le Android Studio
pour coder mon application Android. Je travaillais avec Eclipse
mais j'essaie quelque chose de nouveau. J'ai ajouté un bouton au fichier my activity.XML
et je ne parviens pas à le faire ouvrir mon autre activité. Est-ce que certains peuvent me dire, étape par étape, comment faire cela, s'il vous plaît?
A. Assurez-vous que votre autre activité est déclarée dans le manifeste:
<activity
Android:name="MyOtherActivity"
Android:label="@string/app_name">
</activity>
Toutes les activités doivent être déclarées dans manifest, même si elles ne sont pas affectées d'un filtre intent .
B. Dans votre MainActivity, faites quelque chose comme ça:
Button btn = (Button)findViewById(R.id.open_activity_button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, MyOtherActivity.class));
}
});
Dans la méthode onCreate()
de votre instance Activity
, vous devez d'abord rechercher votre Button
par son id à l'aide de findViewById()
, puis définir une OnClickListener
pour votre bouton et implémenter la méthode onClick()
afin qu'elle lance votre nouvelle Activity
.
Button yourButton = (Button) findViewById(R.id.your_buttons_id);
yourButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
startActivity(new Intent(YourCurrentActivity.this, YourNewActivity.class));
}
});
C'est probablement la méthode préférée des développeurs. Cependant, il existe une alternative commune.
Sinon, vous pouvez utiliser le Android:onClick="yourMethodName"
pour déclarer le nom de la méthode dans votre Activity
qui est appelée lorsque vous cliquez sur votre Button
, puis déclarer votre méthode comme ceci;
public void yourMethodName(View v){
startActivity(new Intent(YourCurrentActivity.this, YourNewActivity.class));
}
De plus, n'oubliez pas de déclarer votre nouvelle Activity
dans votre manifest.xml
. J'espère que ça aide.
Références;
Si vous avez déclaré votre bouton dans le fichier XML comme ceci:
<Button
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="next activity"
Android:onClick="goToActivity2"
/>
alors vous pouvez l'utiliser pour changer l'activité en le mettant dans le fichier Java:
public void goToActivity2 (View view){
Intent intent = new Intent (this, Main2Activity.class);
startActivity(intent);
}
Notez que ma deuxième activité s'appelle "Main2Activity"
Button T=(Button)findViewById(R.id.button_timer);
T.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i=new Intent(getApplicationContext(),YOURACTIVITY.class);
startActivity(i);
}
});
Appliquez les étapes suivantes:
mainactivity.Java
public void openWindow2(View v) {
//call window2
setContentView(R.layout.window2);
}
}
Écrire du code sur un fichier XML.
<Button Android:width="wrap_content"
Android:height="wrap_content"
Android:id="@+id/button"
Android:text="Click"/>
Écrire du code dans votre fichier Java
Button button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
startActivity(new Intent(getApplicationContext(),Secondclass.class));
/* if you want to finish the first activity then just call
finish(); */
}
});
public void onButtonClick (Afficher la vue)
startActivity (nouvelle intention (activité en cours, telle que, classe d'intention d'activité));
J'ai fait la même chose que l'utilisateur9876226 a répondu. La seule différence est que je n'utilise généralement pas onClickListener. Au lieu de cela, j'écris ce qui suit dans le fichier XML: Android:onClick="open"
open
est la fonction liée au bouton . Il suffit ensuite de créer la fonction open () dans votre classe d'activité. Lorsque vous cliquez sur le bouton, cette fonction sera appelée :) En outre, je pense que cette méthode est plus confortable que d’utiliser l’auditeur.
utilisez le code suivant pour qu'un bouton, dans Android Studio, ouvre une activité déjà existante.
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});