两个活动之间的跳转要通过intent来进行,intent跳转分为隐式的和显示的。

首先xml中定义Button,通过按下按钮实现回调,在回调函数中进行相应intent设置。

<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="send"
android:onClick="sendmessage"
/>

回调函数中:

显示调用:

public void sendmessage(View view)
{
//法一:
Intent intent=new Intent(this,SecondActivity.class);
startActivity(intent);

//法二:
Intent intent=new Intent();
intent.setClassName(this,"com.example.helloworld.SecondActivity"); //第二个参数为包名中相应的activity
this.startActivity(intent);

//法三:
Intent intent=new Intent();
ComponentName componentName=new ComponentName(this,SecondActivity.class);
intent.setComponent(componentName);
startActivity(intent);

//法四:
Intent intent=new Intent();
ComponentName componentName=new ComponentName(this,"com.example.helloworld.SecondActivity");
intent.setComponent(componentName);
startActivity(intent);
}

//隐式调用:
public void sendmessage(View view)
{
Intent intent=new Intent();

intent.setAction("second.activity");
startActivity(intent);
}

AndroidMainifest.xml中:
<activity android:name=".SecondActivity">
<intent-filter>
<action android:name="second.activity" />
        <category android:name="android.intent.category.DEFAULT" /> //如果这里也写了LAUNCHAR,那么用户可以直接访问第二个活动,也就是手机上会有两个应用。
</intent-filter>
</activity>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>


实现了活动间的跳转,如果想要在两个活动间发送数据,那么要用到Bundle:

以显示调用的一种跳转方法为例:

现有两个活动:activity1和activity2,实现activity1中的字符串发送到activity2
在activity1中:
    <EditText
android:id="@+id/edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</EditText>
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onclick"
android:text="send"
></Button>

回调函数中:

public void onclick(View view)
{
EditText s=findViewById(R.id.edit);

Intent intent=new Intent();
ComponentName componentName=new ComponentName(this,Main4Activity.class);
intent.setComponent(componentName);

Bundle bundle=new Bundle();
bundle.putString(s.getText().toString());
intent.putExtras(bundle);

startActivity(intent);
}

在activity2中:
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
></TextView>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);

TextView s=findViewById(R.id.text);
Bundle bundle=this.getIntent().getExtras();
String str=bundle.getString("text");

s.setText(str);

}


安卓开发之intent的更多相关文章

  1. Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面

    现在开发中的功能需要直接跳转到拨号.联系人.短信界面等等,查找了很多资料,自己整理了一下. 1.跳转到拨号界面,代码如下: 1)直接拨打 Intent intentPhone = new Intent ...

  2. android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序

    android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序     在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity ...

  3. 安卓开发之Toolbar

    根据官网的教程,发现实现与预期不一致,查看相关资料自己整理了一下(官网开发文档:https://developer.android.com/training/appbar/setting-up.htm ...

  4. 安卓开发之ListAdapter(二)

    今天我们来学习一下ArrayAdapter: ArrayAdapter是安卓中最简单的适配器.使用ArrayAdapter(数组适配器),需要把数据源存 放至数组里面来显示. •构造函数: publi ...

  5. 安卓开发之activity详解(sumzom)

    app中,一个activity通常是指的一个单独的屏幕,相当于网站里面的一个网页,它是对用户可见的,它上面可以显示一些控件,并且可以监听处理用户的时间做出响应. 那么activity之间如何进行通信呢 ...

  6. 安卓开发之UIwebview

    web view在安卓开发中是比较常见的UI,像微信的新闻模块就采用了这个,他的作用越来越广,下面我把以前做的贴了出来,如果有更好的办法,希望大神不吝赐教哈,嘿嘿,纯代码来了: java代码 publ ...

  7. Android开发之Intent略解

    Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件.通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意 ...

  8. Android开发之Intent的传值--Application

    每当我们想要将输入的值传递到多个界面时,只是使用Intent传值的话,就会有一些的弊端. 下面我就以三个页面为例,进行简单的说明一下: 思路: 1.第一个页面是客户输入相关的信息. 2.将客户输入的信 ...

  9. 安卓开发之viewpager学习(头条显示)

    activity_luancher.xml代码如下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res ...

随机推荐

  1. DG修复:异常关库导致的数据库启动失败ORA-01110及GAP修复

    问题描述:正在应用的备库是一套11.2.0.4的rac环境,但是被直接crsctl stop cluster集群强制关库,重新启动之后导致数据库启动失败,报错 Errors in file /u01/ ...

  2. 【LeetCode】839. 相似字符串组 Similar String Groups (Python)

    作者: 负雪明烛 id: fuxuemingzhu 公众号:每日算法题 本文关键词:LeetCode,力扣,算法,算法题,字符串,并查集,刷题群 目录 题目描述 解题思路 并查集 代码 刷题心得 欢迎 ...

  3. 【LeetCode】1465. 切割后面积最大的蛋糕 Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 找最大间隔之积 日期 题目地址:https://lee ...

  4. 【LeetCode】1047. Remove All Adjacent Duplicates In String 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 栈 日期 题目地址:https://leetcode ...

  5. IDEA 延长使用

    压缩包下载地址:https://i.cnblogs.com/files 1.先以试用的形式进入idea,然后help -> Edit Custom VM Options 2.插入 :-javaa ...

  6. 决策树之PEP(悲观剪枝)

    引用这2篇文章 https://blog.csdn.net/taoqick/article/details/72818496 https://www.open-open.com/lib/view/op ...

  7. Java实习生常规技术面试题每日十题Java基础(四)

    目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...

  8. 【MySQL作业】SELECT 数据查询——美和易思定制显示查询结果应用习题

    点击打开所使用到的数据库>>> 1.分类显示所有商品信息,按商品价格升序排列. "分类显示所有商品信息"表明查询表"商品",排序列为" ...

  9. Solr集群安装Version5.5.2(cloud模式)

    Solr安装cloud模式,基于Solr的安装版本为5.5.2. 安装规划 Solr IP/机器名 安装软件 运行进程 zdh-7 solr jar zdh-9 solr jar zookeeper ...

  10. Linux_grep命令

    搜索内容 命令格式如下 grep 参数 "搜索的内容" 搜索路径 注:搜索路径可缺省,缺省时,默认搜索当前目录以及其子目录下所有文件 显示文件名+内容: grep -r " ...