On Android, how do you switch activities programmatically?
It seems like every exam开发者_JAVA百科ple I can find of switching between activities involves creating an Intent and passing in the context of a View via an OnClickListener associated with a button.
But what if you just decide you need to switch activities? In my case, a preference value is causing an Activity switch.
How do you create an Intent that can cause an Activity switch without an associated OnClickListener?
This should do it for you:
Intent myIntent = new Intent(this, MyActivityName.class);
startActivity(myIntent);
You can call that from anywhere in your current activity.
It depends where you want to start the new activity in the code. You need the access to a Context reference to start a new activity( For example: onPostExecute in AsyncTask). Please have a look at this.
Even though it is basically this.
Intent myIntent = new Intent(this, ActivityName.class);
startActivity(myIntent);
It can be something like this as well
Intent myIntent = new Intent(context, ActivityName.class);
context.startActivity(myIntent);
I have the shortest Version
startActivity(new Intent(CurrentActivity.this,ActivityYouWantToOpen.class));
startActivity (new Intent (Thisactivity.this, Nextactivity.class));
Don't forget to add activity to your manifest
<Activity android:name=".NextActivity>
when ever u want to switch activity . u can call these code .
Intent intent = new Intent(this, MyActivity.class);
startActivity(intent);
You can write this code in PreferenceChangeListener.
You can create intent
in the main activity like this
Intent intent = new Intent(FirstActivity.this, second.class);
startActivity(intent);
If you are waiting for result from the second then you should use
StartActivityforresult(intent,request code)
.
Request code can be any integer
.
Use PreferenceChangeListener :)
Firstly you need to create UI for a button by using layout intro_activity_1.XML file. After that set id for button group using android:id="@+id/button"
Example:
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" />
Now change your java class of first activity. In this example, we change java file of IntroActivity1.java
Example:
IntroActivity1.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);
}
});
}
For More details about activity changer visit : https://answerdone.blogspot.com/2018/01/how-to-change-new-activity-in-android.html
精彩评论