Android Intent实现页面跳转的方法示例

应朋友们反馈的Android基础薄弱的问题,决定出一套Android基础教程,帮助大家复习,巩固Android基础,今天要讲的是Android中的Intent实现Android间的页面跳转。

增加Acrivity页面时,首先需要在MainActivity中对页面注册,比如

新建被跳转的页面OtherActivity,其对应的xml文件如下

activity_other

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="第二个Activity"/>
</LinearLayout>

Java代码

OtherActivity

import android.support.v7.app.AppCompatActivity;
import android.view.View;
public class OtherActivity extends AppCompatActivity {
  @Override
  public void setContentView(View view) {
    super.setContentView(R.layout.activity_other); 

  }
}

程序主界面activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"> 

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="第一个Activity"/>
  <Button
    android:id="@+id/start_btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="页面跳转"/>
</LinearLayout> 

Java代码

MainActivity

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
  private Button startButton;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    startButton = findViewById(R.id.start_btn);
    startButton.setOnClickListener(new ButtonListener());
  }
  class ButtonListener implements View.OnClickListener{
    @Override
    public void onClick(View v) {
      //当点击事件触发后执行,启动OtherActivity
      //创建一个Intent对象
      Intent intent =new Intent();
      intent.setClass(MainActivity.this,OtherActivity.class);//从MainActivity跳转到OtherActivity
      startActivity(intent);
    }
  }
} 

另外除了上述的显式Intent,还有隐式Intent,隐式Intent可以用来传递数组及动作状态

比如在MainActivity中

//当点击事件触发后执行,启动OtherActivity
//创建一个Intent对象
Intent intent =new Intent();
intent.setClass(MainActivity.this,OtherActivity.class);//从MainActivity跳转到OtherActivity
intent.putExtra("姓名","小李");
startActivity(intent);

在被跳转的OtherActivity中

Intent intent =new Intent();
String name = intent.getStringExtra("姓名");

可以接收由MainActivity传来的数据

又或者

Intent intent = new Intent(Intent.ACTION_DIAL);
        intent.setData(Uri.parse("tel:10086"));
        startActivity(intent);

可以调用拨打电话界面并设定预设号码为10086

还可以设置网址的跳转,显示地理位置等

如设置为跳转打开网址时,需要在AndroidManifast中注册一下<data android:scheme="http"/>

如下:

<activity android:name=".MainActivity">
      <intent-filter>
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <data android:scheme="http"/>
      </intent-filter>
    </activity>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Android使用Intent实现页面跳转
  • Android编程中Intent实现页面跳转功能详解
  • Android Activity中使用Intent实现页面跳转与参数传递的方法
(0)

相关推荐

  • Android Activity中使用Intent实现页面跳转与参数传递的方法

    本文实例讲述了Android Activity中使用Intent实现页面跳转与参数传递的方法.分享给大家供大家参考,具体如下: 新建一个FirstAvtivity.java package com.zhuguangwei; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.O

  • Android编程中Intent实现页面跳转功能详解

    本文实例讲述了Android编程中Intent实现页面跳转功能.分享给大家供大家参考,具体如下: 安卓四大组件:Activity.Service.Broadcast Receiver.Content Provider Intent实现页面之间跳转 1.无返回值 startActivity(intent) 2.有返回值 startActivityForResult(intent,requestCode); onActivityResult(int requestCode,int resultCod

  • Android使用Intent实现页面跳转

    什么是Intent Intent可以理解为信使(意图) 由Intent来协助完成Android各个组件之间的通讯 Intent实现页面之间的跳转 1>startActivity(intent) 2>startActivityForResult(intent,requestCode) onActivityResult(int requestCode,int resultCode,Intent data) setResult(resultCode,data) 第二种启动方式可以返回结果 代码 Fi

  • Android Intent实现页面跳转的方法示例

    应朋友们反馈的Android基础薄弱的问题,决定出一套Android基础教程,帮助大家复习,巩固Android基础,今天要讲的是Android中的Intent实现Android间的页面跳转. 增加Acrivity页面时,首先需要在MainActivity中对页面注册,比如 新建被跳转的页面OtherActivity,其对应的xml文件如下 activity_other <?xml version="1.0" encoding="utf-8"?> <

  • Android Intent实现页面跳转的两种方法

    本文实例为大家分享了Intent实现页面跳转的两种的方法,供大家参考,具体内容如下 下图中两个不同的方法就是两种页面之间跳转的情况 1).跳转不返回数据 2).跳转返回数据 实例: 第一种启动方式(跳转不返回数据) 第二种启动方式(跳转返回数据) 先看第一种: 点击第一种启动方式按钮会出现右边的图,然后再点击Button按钮返回左边的界面,TextView中的内容没变. 再看第二种启动方式 不同的是,点击Button按钮返回左边的界面,TextView中的内容变成了你好. 下面是所有代码 And

  • Android Activity活动页面跳转与页面传值

    目录 概述 Intent 显示Intent启动 隐式Intent启动 启动其他程序 网页浏览 拨号界面 根据包名打开软件 根据类名打开界面 startActivityForResult 主页面 跳转界面 页面传值 Intent.putExtra 传值 借助 Bundle 传值 概述 Android开发少不了的就是页面之间的跳转,或者想要呼叫打开其他应用等 Intent Intent是Android程序中各组件之间进行交互的一种重要方式,不仅可以指明当前组件想要执行的运作,还可以在不同组件之间传递

  • 三种asp.net页面跳转的方法

    第一种方法:response.redirect 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但它可以跳转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护.但速度慢是其最大缺陷!redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端.需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session. 代码如下  using System; using Syst

  • Android Intent传递对象的两种方法(Serializable,Parcelable)详细介绍

    Android Intent传递对象的两种方法(Serializable,Parcelable)详细介绍 今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大家更容易理解我还是照常写

  • layui使用form表单实现post请求页面跳转的方法

    如下所示: window.location.href='url?param=' + paramValue; 上面这种方式实现页面跳转附带参数,容易造成信息泄露: layui使用form表单实现post请求,避免信息泄露(设置form表单隐藏,也可以初始化时隐藏): 这里是在数据表格查询数据时的按钮操作,其他操作类似 <table id="myTable" class="layui-table" lay-filter="myTableDetail&qu

  • vue项目实现页面跳转的方法

    目录 1.创建一个vue-cli默认项目(仅包含babel) 2.进入创建文件 3.检查配置 4.创建views文件夹 5.设置APP.vue 6.进行main.js的配置 7.运行结果 问题描述: vue-router是前端开发中用来实现路由页面跳转的一个模块.下面小编将带来如何在已经创建好的vue-router项目基础下实现页面跳转. 实验结果与讨论 : 1.创建一个vue-cli默认项目(仅包含babel) 2.进入创建文件 以管理员身份进入创建的文件路径内,并运行命令npm instal

  • Android flutter Dio锁的巧妙实现方法示例

    正文 看Dio库源码的时候,发现其拦截器管理的逻辑处用到了一个Lock,这个Lock巧妙地利用了Completer和Future的机制来实现,记录一下. /// Add lock/unlock API for interceptors. class Lock { Future? _lock; late Completer _completer; /// 标识拦截器是否被上锁 bool get locked => _lock != null; /// Lock the interceptor. /

随机推荐