(1)第一种方式就是常见的通过intent来启动,被启动的activity需要在mainfest里面注册activity
(2)第二种就是通过setContentView来启动,这里activity不需要再mainfest里面注册,同时如果涉及到activity之间的传参,第一种方法需要用到intent的传参,第二种方法时不需要传参。第二种方法实现的具体demo如下
package com.wxyz.dengchaoqun.appmoreactivity; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; /** * 多activity的一种打开方式 * 通过setContentView()方法来设置 */ public class MainActivity extends AppCompatActivity { Button button1,button2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1= (Button) findViewById(R.id.button); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { jumpToTwo(); } }); } /** * 跳转到第二个界面的方法 */ public void jumpToTwo(){ setContentView(R.layout.my_activity); button2= (Button) findViewById(R.id.button2); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { jumpToOne(); } }); } /** * 跳转到第一个几面的方法 */ public void jumpToOne(){ setContentView(R.layout.activity_main); button1= (Button) findViewById(R.id.button); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { jumpToTwo(); } }); } }
截图效果如下: