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

时间:2010-08-28 16:16:19

标签: android android-activity

似乎我可以找到在活动之间切换的每个示例都涉及创建一个Intent并通过与按钮关联的OnClickListener传递View的上下文。

但是,如果您只是决定需要切换活动呢?在我的例子中,首选项值导致Activity切换。

如何创建一个可以导致没有关联的OnClickListener的Activity切换的Intent?

8 个答案:

答案 0 :(得分:71)

这应该适合你:

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

您可以在当前活动的任何地方拨打该电话。

答案 1 :(得分:8)

这取决于您希望在代码中启动新活动的位置。您需要访问Context引用才能启动新活动(例如:AsyncTask中的onPostExecute)。请查看 this

尽管基本上就是这样。

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

它也可以是这样的

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

答案 2 :(得分:5)

我的版本最短

startActivity(new Intent(CurrentActivity.this,ActivityYouWantToOpen.class));

答案 3 :(得分:2)

使用PreferenceChangeListener:)

答案 4 :(得分:2)

什么时候你想切换活动。你可以打电话给这些代码。

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

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

答案 5 :(得分:1)

您可以在此主要活动中创建intent

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

如果您正在等待第二个结果,那么您应该使用

StartActivityforresult(intent,request code)

请求代码可以是任何integer

答案 6 :(得分:1)

startActivity (new Intent (Thisactivity.this, Nextactivity.class));

不要忘记在清单中添加活动

<Activity android:name=".NextActivity>

答案 7 :(得分:1)

首先,您需要使用布局intro_activity_1.XML文件为按钮创建UI。之后使用android:id =“@ + id / button”

为按钮组设置id

示例:

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" />

现在更改第一个活动的java类。在此示例中,我们更改了IntroActivity1.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