首页 > 软件开发 > 软件开发

软件开发Android入门(四)——页面跳转

admin 软件开发 2021-05-25 09:24:32 android 安卓 Java 移动开发 jsp 
后台-系统设置-扩展变量-手机广告位-内容正文底部

目录

  • 一.如何创建多个页面
  • 二.如何进行页面跳转
    • 1.传递参数方式一
    • 2.传递参数方式二(传递多个参数)
  • 三.设置页面自动跳转(用到线程)
  • 四.Activity生命周期

一.如何创建多个页面

一个activity是一个安卓页面,右键src->new Android activity

new后:

  • src添加了新页面的Java代码
  • res/layout添加了新页面的xml代码
  • AndroidManifest.xml添加了新页面的标签(含有intent-filter属性的是app启动后的第一个页面)

二.如何进行页面跳转

  1. xml中设置onClick属性
  2. Java代码中通过Intent类实现相应业务
    public void goSecond(View v){
    	//设置跳转的页面
    	Intent intent = new Intent(this, SecondActivity.class);//this为当前所在页面FirstActivity
    	//跳转
    	startActivity(intent);
    }

1.传递参数方式一

FirstActivity.java:

    public void goSecond(View v){
    	//设置跳转的页面
    	Intent intent = new Intent(this, SecondActivity.class);
    	//设置参数
    	intent.putExtra("Mydata", "xybhenshuai");//键:“Mydata”,值:“xybhenshuai”
    	//跳转
    	startActivity(intent);
    }

SecondActivity.java:

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);
		
		Intent i = this.getIntent();
		String data = i.getStringExtra("Mydata");
		Toast.makeText(this, "第二个页面收到的数据:"+data, 0).show();
	}

点击第一个页面button效果:

2.传递参数方式二(传递多个参数)

FirstActivity.java:

    public void goSecond(View v){
    	//设置跳转的页面
    	Intent intent = new Intent(this, SecondActivity.class);
    	//设置参数
    	Bundle bundle = new Bundle();
    	bundle.putString("Data1", "xybhenshuai");
    	bundle.putInt("Data2", 250);
    	intent.putExtras(bundle);
    	//跳转
    	startActivity(intent);
    }

SecondActivity.java:

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);
		
		Intent i = this.getIntent();
		Bundle bundle = i.getExtras();
		String data1 = bundle.getString("Data1");
		int data2 = bundle.getInt("Data2");
		Toast.makeText(this, "第二个页面收到的数据:"+data1+data2, 0).show();
	}

点击第一个页面button效果:

三.设置页面自动跳转(用到线程)

可能一开始都会想到sleep一伙,然后跳转,但注意:
onCreate是UI线程,不能直接在UI线程中sleep,否则UI线程暂停刷新,显示不出页面,需另起一个线程。
Demo:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Thread t = new Thread(new Runnable() {//新线程	
			@Override
			public void run() {
				// TODO Auto-generated method stub
				try {
					Thread.sleep(3000);//Java线程代码都要try捕获异常
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				
				Intent intent = new Intent(MainActivity.this, SecondActivity.class);
		    	startActivity(intent);		
			}
		});
        t.start();//启动线程
    }

启动后显示FirstActivity,3秒后自动跳转到SecondActivity

四.Activity生命周期

Android入门(三)——按键响应(点我!)

文章来源:https://blog.csdn.net/qq_47045053/article/details/117190402

后台-系统设置-扩展变量-手机广告位-内容正文底部
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:https://www.jcdi.cn/ruanjiankaifa/30708.html

留言与评论(共有 0 条评论)
   
验证码:
后台-系统设置-扩展变量-手机广告位-评论底部广告位

教程弟

https://www.jcdi.cn/

统计代码 | 京ICP1234567-2号

Powered By 教程弟 教程弟

使用手机软件扫描微信二维码