代码之家  ›  专栏  ›  技术社区  ›  dicroce

在Android上,如何以编程方式切换活动?

  •  31
  • dicroce  · 技术社区  · 14 年前

    似乎我能找到的在活动之间切换的每一个例子都涉及到创建一个意图,并通过与按钮关联的onclickListener在视图上下文中传递。

    但如果你只是决定你需要转换活动呢?在我的例子中,一个首选值导致了一个活动切换。

    如何创建一个没有关联onclickListener的活动切换意图?

    8 回复  |  直到 7 年前
        1
  •  69
  •   Mateen Ulhaq    8 年前

    这应该为您做到:

    Intent myIntent = new Intent(this, MyActivityName.class);
    startActivity(myIntent);
    

    您可以在当前活动的任何地方调用它。

        2
  •  8
  •   Community CDub    8 年前

    这取决于您希望在代码中从何处开始新活动。您需要访问上下文引用以启动新活动(例如:AsyncTask中的OnPostExecute)。请看一下 this .

    即使基本上是这样。

     Intent myIntent = new Intent(this, ActivityName.class);
     startActivity(myIntent);
    

    也可以是这样的

    Intent myIntent = new Intent(context, ActivityName.class);
    context.startActivity(myIntent);
    
        3
  •  5
  •   Zar E Ahmer    11 年前

    我有最短的版本

    startActivity(new Intent(CurrentActivity.this,ActivityYouWantToOpen.class));
    
        4
  •  2
  •   Konstantin Burov    14 年前

    使用PreferenceChangeListener:)

        5
  •  2
  •   Srinivas    14 年前

    当你想要转换活动的时候。你可以调用这些代码。

    Intent intent = new Intent(this, MyActivity.class);
    startActivity(intent);
    

    您可以在PreferenceChangeListener中编写此代码。

        6
  •  1
  •   xan    13 年前

    你可以创造 intent 在这样的主要活动中

    Intent intent = new Intent(FirstActivity.this, second.class);
    startActivity(intent);
    

    如果您正在等待第二个结果,则应使用

    StartActivityforresult(intent,request code) .

    请求代码可以是任何 integer .

        7
  •  1
  •   Yamikani Sita    8 年前
    startActivity (new Intent (Thisactivity.this, Nextactivity.class));
    

    不要忘记将活动添加到清单中

    <Activity android:name=".NextActivity>
    
        8
  •  1
  •   Ganesh Garad    7 年前

    首先,您需要使用layout intro_activity_1.xml文件为按钮创建UI。之后,使用android设置按钮组的id:id=“@+id/button”

    例子:

    活动简介.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" />
    

    现在更改Java类的第一个活动。在这个例子中,我们改变了InPurvivy1.java的Java文件

    例子:

    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);
          }
      });
    }
    

    有关活动更改者的详细信息,请访问: https://answerdone.blogspot.com/2018/01/how-to-change-new-activity-in-android.html