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

flseospp  于 2021-07-07  发布在  Java
关注(0)|答案(8)|浏览(335)

似乎我能找到的每个在活动之间切换的例子都涉及到创建意图,并通过与按钮关联的onclicklistener在视图上下文中传递。
但如果你决定要换个活动呢?在我的例子中,首选项值导致了活动切换。
如何创建一个可以在没有关联onclicklistener的情况下导致活动切换的意图?

qlfbtfca

qlfbtfca1#

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

别忘了将活动添加到清单中

<Activity android:name=".NextActivity>
yc0p9oo0

yc0p9oo02#

我有最短的版本

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

hk8txs483#

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

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

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

monwx1rj

monwx1rj4#

使用preferencechangelistener:)

emeijp43

emeijp435#

这取决于您要在代码中的何处开始新活动。您需要访问上下文引用才能启动新活动(例如:asynctask中的onpostexecute)。请看一下这个。
即使基本上是这样。

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

也可以是这样的

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

67up9zun6#

首先,您需要使用layout intro\u activity\u 1.xml文件为按钮创建ui。之后,使用android:id=“@+id/按钮”
例子:
简介活动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文件
例子:
简介活动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);
      }
  });
}

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

g9icjywg

g9icjywg7#

这应该能帮到你:

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

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

wtlkbnrh

wtlkbnrh8#

您可以创建 intent 在这样的主要活动中

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

如果您正在等待第二个结果,那么您应该使用 StartActivityforresult(intent,request code) .
请求代码可以是任何 integer .

相关问题