On Android, how do you switch activities programmatically?

前端 未结 8 874
盖世英雄少女心
盖世英雄少女心 2020-12-01 06:29

It seems like every example I can find of switching between activities involves creating an Intent and passing in the context of a View via an OnClickListener associated wit

相关标签:
8条回答
  • 2020-12-01 06:33

    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);
    
    0 讨论(0)
  • 2020-12-01 06:33

    I have the shortest Version

    startActivity(new Intent(CurrentActivity.this,ActivityYouWantToOpen.class));
    
    0 讨论(0)
  • 2020-12-01 06:33

    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.

    0 讨论(0)
  • 2020-12-01 06:34

    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

    0 讨论(0)
  • 2020-12-01 06:41
    startActivity (new Intent (Thisactivity.this, Nextactivity.class));
    

    Don't forget to add activity to your manifest

    <Activity android:name=".NextActivity>
    
    0 讨论(0)
  • 2020-12-01 06:47

    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.

    0 讨论(0)
提交回复
热议问题