Android Basculer entre les activités
ce que j'essaie de faire, c'est un écran d'accueil qui reste pendant 5 secondes et va à activity1.Lorsque je clique sur un bouton dans activity1 m'amène à activity2.J'ai essayé de nombreuses fois de cliquer sur le bouton mais pas de changement se produit.
à l'écran d'accueil (5 secondes)=Main_Activity
Activity1=selectpets.java
Activity2=fishtank.java
onclick auditeur semble que le problème je ne sais pas quel est le problème avec elle
Main Activity Code
package com.set.petshome;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
Button fButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Delay Code after 5 seconds
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
setContentView(R.layout.selectscreen); //where <next> is you target activity :)
}
}, 5000);
}
//Delay End
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Maintenant la Selectpets Code
package com.set.petshome;
import android.app.Activity;
import android.content.*;
import android.os.Bundle;
import android.view.*;
import android.widget.Button;
public class SelectPetsScreen extends Activity {
Button fButton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.selectscreen);
//Button Fishtank Listener Start
fButton = (Button) findViewById(R.id.button1);
//Listening to button event
fButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
//Starting a new Intent
Intent nextScreen = new Intent(getApplicationContext(), fishtank.class);
startActivity(nextScreen);
}
});
//Button Fishtank Listener End
}
}
Aquarium code de la classe
package com.set.petshome;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class fishtank extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ftank);
}
}
par la voie pas d'erreurs dans l'application juste pas de changement après avoir cliqué
merci beaucoup
Vous êtes à la modification de la
Avez-vous ajouter un deuxième Activité Manifest.xml? Si oui, essayez d'ajouter à SelectPetsScreen: android:launchMode="singleTask"`
setContentView()
. Ce ne sera pas commencer votre SelectPetsScreen
Activité et par conséquent Vous n'aurez jamais le clic sur le bouton de l'écouteur lui est assigné. Parce que vous êtes encore dans la MainActivity
🙂Avez-vous ajouter un deuxième Activité Manifest.xml? Si oui, essayez d'ajouter à SelectPetsScreen: android:launchMode="singleTask"`
OriginalL'auteur user1928775 | 2013-08-15
Vous devez vous connecter pour publier un commentaire.
Ici, vous n'êtes pas jamais de commutation pour la prochaine
Activity
, en changeant simplement lelayout
de l'actuelActivity
au lieu de
setContentView()
, vous devez utiliser unIntent
Puisque vous n'êtes pas réellement de passer à la suivante
Activity
(fichier java) votreonClick()
n'est pas définie.Modifier
C'est ce que vous faites
C'est ce que vous devriez faire. Notez la différence dans la
run()
fonctionNon, dans votre
MainActivity
vous ne le faites pas. Regarde ma réponse encore une fois. Vous n'êtes pas à l'aide d'unIntent
là pour commencer la prochaineActivity
qui est l'endroit où votreonClickListener
est réglé. Vous êtes SIMPLEMENT en changeant lelayout
et ne va pas à l'Activity
.Je comprends maintenant mais après avoir changé le code de l'INTERFACE utilisateur du Système s'arrête(se bloque) sur MainActivity
Je ne peux pas vous dire pourquoi, sans savoir quelle est l'erreur. Ce que ça dit dans le logcat pour
Fatal Exception
et quelle est la première ligne qui fait référence à votre colis après que?OriginalL'auteur codeMagic
Vous pouvez utiliser
finish()
si vous souhaitez utiliser la première Activité qu'une seule fois.Assurez-vous que vous avez 2ème Activité définis dans votre Manifest.xml:
Avez-vous ajouter un deuxième Activité Manifest.xml?
essayez d'ajouter à SelectPetsScreen: manifest.xml: ` android:launchMode="singleTask"`
Merci Maxime Shoustin et tout le monde il a travaillé après l'ajout de SelectPetsScreen dans manifest.xml
OriginalL'auteur Maxim Shoustin
Éviter de le faire.
Google vous donne l'Intention du mécanisme de commutation Activités
c'est à dire utiliser
au lieu de
La partie restante de votre code doit fonctionner correctement.
OriginalL'auteur
J'ai été en mesure de le résoudre avec l'aide de Maxime Shoustin et tout le monde en:
l'ajout de la deuxième Activité de Manifest.xml qui est SelectPetsScreen
Merci beaucoup
OriginalL'auteur user1928775