安卓页面跳转

安卓页面跳转

前面学习了一些安卓的基础知识并能够编写一个简单的安卓程序,那么我们要如何显示多个页面之间的跳转呢,下面就是我们要学习的内容
1.普通的页面跳转
2.带有参数的页面跳转

一.普通的页面跳转

Intent函数的引用1.startActivity(intent); 无返回结果
首先还是创建一个安卓页面跳转的工程 并且在src文件夹下面创建多个活动程序,在这里我创建了三个分别是Main /Second /ThirdActivity

在这里插入图片描述

1.MainActivity程序编写

//--------------------------activity_main.xml-------------------------------------
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="goSecond"
        android:text="跳转到第二个页面" />
    
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这是第一个页面"
        android:layout_marginTop="100dp"/>

</RelativeLayout>

//---------------------------------MainActivity.java
package com.example.learn;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
      
    }
    public void goSecond(View v)
    {
    	 //设置要跳转页面
        Intent intent = new Intent(this , SecondActivity.class);
        //跳转
        startActivity(intent);
    }

   
    
}

2.Second

//-----------------------------------activity_second.xml--------------------------
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".SecondActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这是第二个页面" 
        android:layout_marginTop="100dp"/>
  
    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="goThird"
        android:text="跳转到第三个页面"/>

</RelativeLayout>

//-----------------------------SecondActivity.java--------------------------------
package com.example.learn;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class SecondActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);
	}

	 public void goThird(View v)
	    {
	    	 //设置要跳转页面
	        Intent intent = new Intent(this , ThirdActivity.class);
	        //跳转
	        startActivity(intent);
	    }
	

}

3.Thrid

//-------------------------------thirdactivity.xml--------------------------------
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".ThirdActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这是第三个页面" />

</RelativeLayout>

//-------------------------------ThridActivity.java-------------------------------
package com.example.learn;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class ThirdActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_third);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.third, menu);
		return true;
	}

}

二.效果显示

在这里插入图片描述在这里插入图片描述
在这里插入图片描述三.带有参数的页面跳转1

带有参数的页面跳转和普通的跳转都相差不多,在.xml文件下一模一样 这里只是在MainActivity 和SecondAcivity下改了一些

//---------------------------------MainAcivity.java-------------------------------
package com.example.learn;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
      
    }
    public void goSecond(View v)
    {
    	 //设置要跳转页面
        Intent intent = new Intent(this , SecondActivity.class);
        
        intent.putExtra("MyData", "小殷");
        //跳转
        startActivity(intent);
    }

   
    
}

//------------------------------SecondAcivity-------------------------------------
package com.example.learn;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class SecondActivity extends Activity {

	private String data;   //定义一个字符串来接受数据
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);
		
		Intent i = this.getIntent();
		data = i.getStringExtra("MyData");
		//System.out.println("收到数据:"+data);
		Toast.makeText(this, "收到数据:"+data, 0).show();
	}

	 public void goThird(View v)
	    {
	    	 //设置要跳转页面
	        Intent intent = new Intent(this , ThirdActivity.class);
	        //跳转
	        startActivity(intent);
	    }
	

}

和第一种不同的是通过传参数的页面跳转可以将我们所传递的参数显示出来
在这里插入图片描述带有参数的页面跳转2

//---------------------------------MainAcivity.java-------------------------------
package com.example.learn;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
      
    }
    public void goSecond(View v)
    {
    	 //设置要跳转页面
        Intent intent = new Intent(this , SecondActivity.class);
        
        //intent.putExtra("MyData", "小殷");
        Bundle bundle = new Bundle();
        bundle.putString("MyData", "小殷");
        bundle.putInt("ID", 1001);
        intent.putExtras(bundle);
        //跳转
        startActivity(intent);
    }

   
    
}

//------------------------------SecondAcivity-------------------------------------
package com.example.learn;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class SecondActivity extends Activity {

//	private String data;
	@SuppressLint("ShowToast") @Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);
		
		Intent i = this.getIntent();
		//data = i.getStringExtra("MyData");
		//System.out.println("收到数据:"+data);
		Bundle b = i.getExtras();
		String data = b.getString("MyData");
		int data2 = b.getInt("ID");
		Toast.makeText(this, "收到数据:"+data+data2, 0).show();
	}

	 public void goThird(View v)
	    {
	    	 //设置要跳转页面
	        Intent intent = new Intent(this , ThirdActivity.class);
	        //跳转
	        startActivity(intent);
	    }
	

}

运行效果
在这里插入图片描述从这个运行效果很清楚的看出和第一种带参数的不同,这种可以一次性传递多个参数

这些就是简单的页面跳转的学习了 加油

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小殷学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值