Android Intent实现页面跳转的方法示例
作者:唯美星辉 发布时间:2021-11-08 05:27:22
标签: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>
来源:https://blog.csdn.net/weimeig/article/details/79666786


猜你喜欢
- C#删除指定文件或文件夹public static string deleteOneFile(string fileFullPath) &n
- 单例模式的实现(5种)常用:饿汉式(线程安全,调用效率高,但是不能延时加载)懒汉式(线程安全,调用效率不高,可以延时加载)其他:双重检测锁式
- resultTyperesultType可以把查询结果封装到pojo类型中,但必须pojo类的属性名和查询到的数据库表的字段名一致。如果sq
- 0x001 算数运算符 int num1 = 1, num2 = 2; System.o
- 在平时开发应用的时候,经常会遇到列表排序、滑动删除的需求。如果列表效果采用的是 ListView 的话,需要经过自定义 View 才能实现效
- Spring5新功能一、@Nullable 注解@Nullable 注解可以使用在方法、属性、参数上,分别表示方法返回可以为空、属性值可以为
- 1. 定时任务实现方式定时任务实现方式:Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerT
- 前言将Chart的X轴设置为时间轴是一个说简单不简单的问题,说难也不难的问题,你用过之后呢就感觉很容易,你没用过呢,就比较难,所以这个是很值
- 1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是如果有Synchr
- java掩码 private static String nameMask(String name) throws Exception {
- 前言本次主要是实现一个Android应用,实现静态广播、动态广播两种改变 widget内容的方法,即在上篇博文中实验的基础上进行修改,所以此
- @Transactional跟@DS动态数据源注解冲突背景前阵子写一个项目时,有个需求是要往3个库,3个表里插入数据,在同一个方法里,公司是
- 如何只返回实体类中的部分字段在实体类上添加注解@JsonInclude(JsonInclude.Include.NON_EMPTY)表示实体
- 对于大文件的处理,无论是用户端还是服务端,如果一次性进行读取发送、接收都是不可取,很容易导致内存问题。所以对于大文件上传,采用切块分段上传,
- 这篇文章主要介绍了如何使用Spring工具类动态匹配url,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 类和结构的区别:1.一个是引用类型一个是值类型Class是引用类型,继承自System.Object类Struct是值类型,继承自Syste
- 本文实例讲述了Android开发中计算器的sin、cos及tan值计算问题。分享给大家供大家参考,具体如下:接到一个需求 :要求计算器sin
- 前言我们在日常开发中,经常会用到一个系统需要链接多个数据库来实现业务的需求,比如多个系统之间数据调用、两个数据之间同步等等。今天给大家分享使
- 配置java环境变量这里是将环境变量配置在etc/profile,即为所有用户配置JDK环境。sudo vi /etc/profile配置环
- 本文实例为大家分享了java获取当前时间年月日的具体代码,供大家参考,具体内容如下import java.text.ParseExcepti