今天解决的问题是 activity的跳转。
目前我学习到的跳转的方式有2种
1. 用 setContentView() 方法
2. 用 Intent 对象
方法一:setContentView()
该方法 不要求 目标activity 在 AndroidManifest.
如果跳转后,按返回键,不响应
代码如下,实现了 activity_main 和 activity_2 的来回切换
public class MainActivity extends Activity {// StringBuffer mes=new StringBuffer();// DisplayMetrics dm=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn2=(Button)findViewById(R.id.main_btn_2); btn2.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { toActivity_2(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public void toActivity_2(){ setContentView(R.layout.activity_2); //跳转到 目标activity_2 Button btn=(Button)findViewById(R.id.act2_btn_1); //获取activity_2 上的按钮act2_btn_1 btn.setOnClickListener(new OnClickListener() { //按钮事件监听 @Override public void onClick(View arg0) { // 返回主界面activity_main toActivity_main(); } }); } public void toActivity_main(){ setContentView(R.layout.activity_main); //跳转到 目标activity_main Button btn=(Button)findViewById(R.id.main_btn_2); //获取activity_main上的按钮main_btn_2 btn.setOnClickListener(new OnClickListener() { //按钮事件监听 @Override public void onClick(View arg0) { // 跳转到 activity_2 toActivity_2(); } }); }}
方法二:Intent
layout 中activity 需要在 AndroidManifest.
每一次跳转都会被记录到返回键,所以返回键识别这个方法的跳转
activity_main 页面中的代码
public class MainActivity extends Activity {// StringBuffer mes=new StringBuffer();// DisplayMetrics dm=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn2=(Button)findViewById(R.id.main_btn_2); btn2.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { intentToActivity_2(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public void intentToActivity_2(){ Intent intent=new Intent(); intent.setClass(MainActivity.this, activity_2.class); startActivity(intent); }}
activity_2 页面中的代码
public class activity_2 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_2); Button btn=(Button)findViewById(R.id.act2_btn_1); btn.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { Intent t=new Intent(); t.setClass(activity_2.this,MainActivity.class); startActivity(t); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub return super.onCreateOptionsMenu(menu); } }
以上就介绍了2种跳转方式,其中的好坏,暂时还说不上来,主要看应用场景。写的不好,但希望对像我刚学android的有点帮助!
原标题:基础之activity跳转
关键词: