Il semble que chaque exemple de basculement entre les activités que je puisse trouver implique la création d'une intention et le passage dans le contexte d'une vue via un onclicklisten associé à un bouton.
Mais que se passe-t-il si vous décidez simplement de changer d'activité? Dans mon cas, une valeur de préférence est à l'origine d'un commutateur d'activité.
Comment créer une intention qui peut provoquer un commutateur d'activité sans OnClickListener associé?
Cela devrait le faire pour vous:
Intent myIntent = new Intent(this, MyActivityName.class);
startActivity(myIntent);
Vous pouvez appeler de n'importe où dans votre activité actuelle.
Cela dépend où vous voulez commencer la nouvelle activité dans le code. Vous devez avoir accès à une référence de contexte pour commencer une nouvelle activité (par exemple: onPostExecute en AsyncTask). S'il vous plaît jeter un oeil à this.
Même si c'est fondamentalement ceci.
Intent myIntent = new Intent(this, ActivityName.class);
startActivity(myIntent);
Cela peut être quelque chose comme ça aussi
Intent myIntent = new Intent(context, ActivityName.class);
context.startActivity(myIntent);
J'ai la version la plus courte
startActivity(new Intent(CurrentActivity.this,ActivityYouWantToOpen.class));
Utilisez PreferenceChangeListener :)
quand tu veux changer d'activité. vous pouvez appeler ces codes.
Intent intent = new Intent(this, MyActivity.class);
startActivity(intent);
Vous pouvez écrire ce code dans PreferenceChangeListener.
startActivity (new Intent (Thisactivity.this, Nextactivity.class));
N'oubliez pas d'ajouter une activité à votre manifeste
<Activity Android:name=".NextActivity>
Tout d'abord, vous devez créer une interface utilisateur pour un bouton à l'aide du fichier de présentation intro_activity_1.XML. Après cela, définissez l'ID du groupe de boutons sous Android: id = "@ + id/button"
Exemple:
intro_activity_1.xml
<Button Android:id="@+id/button"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:background="@Android:color/transparent"
Android:text="NEXT" />
Modifiez maintenant votre classe Java de première activité. Dans cet exemple, nous modifions le fichier Java de IntroActivity1.Java.
Exemple:
IntroActivité1.Java
//header, import and package data
public class IntroActivity1 extends AppCompatActivity {
Button next_btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.intro_activity_1);
next_btn=(Button)findViewById(R.id.button);//button class
next_btn.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0){
//Start new activity class
Intent myIntent=new Intent(IntroActivity1.this,IntroActivity2.class);
startActivity(myIntent);
}
});
}
Pour plus de détails sur le changeur d'activité, visitez: https://answerdone.blogspot.com/2018/01/how-to-change-new-activity-in-Android.html
Vous pouvez créer intent
dans l'activité principale comme ceci
Intent intent = new Intent(FirstActivity.this, second.class);
startActivity(intent);
Si vous attendez le résultat de la seconde, vous devez utiliser
StartActivityforresult(intent,request code)
.
Le code de demande peut être n'importe quelle integer
.