好像我所能找到的每个在不同活动之间切换的例子都涉及创建一个Intent并通过与按钮关联的OnClickListener传递View的上下文。
但是如果你只是决定需要切换活动怎么办? 在我的情况下,偏好值导致了Activity的切换。
如何创建一个Intent,可以在没有关联OnClickListener的情况下导致Activity切换呢?
好像我所能找到的每个在不同活动之间切换的例子都涉及创建一个Intent并通过与按钮关联的OnClickListener传递View的上下文。
但是如果你只是决定需要切换活动怎么办? 在我的情况下,偏好值导致了Activity的切换。
如何创建一个Intent,可以在没有关联OnClickListener的情况下导致Activity切换呢?
这应该对你有所帮助:
Intent myIntent = new Intent(this, MyActivityName.class);
startActivity(myIntent);
你可以从当前活动的任何地方调用它。
这取决于您想在代码中的哪个位置开始新的活动。您需要访问Context引用才能启动新活动(例如:AsyncTask中的onPostExecute)。请参阅此处。
尽管基本上就是这样。
Intent myIntent = new Intent(this, ActivityName.class);
startActivity(myIntent);
它也可以是这样的
这里只是一个例子。Intent myIntent = new Intent(context, ActivityName.class);
context.startActivity(myIntent);
startActivity(new Intent(CurrentActivity.this,ActivityYouWantToOpen.class));
startActivity (new Intent (Thisactivity.this, Nextactivity.class));
不要忘记在你的清单文件中添加活动
<Activity android:name=".NextActivity>
Intent intent = new Intent(this, MyActivity.class);
startActivity(intent);
intent
。Intent intent = new Intent(FirstActivity.this, second.class);
startActivity(intent);
如果你正在等待第二个结果,那么你应该使用
StartActivityforresult(intent,请求代码)
.
请求代码可以是任何整数
。
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" />
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
Class.forName(完全限定类名)
返回一个Class
对象,然后将该Class
对象传递给Intent
构造函数。 - Chris Thompson