[安卓] 7、页面跳转和Intent简单用法

简介:


 

 


 

这里有一个layout资源,2个activity。首先在MainActivity.java中实例化按钮和添加按钮监听绑定都是我们知道的,这里要注意的是第22行Intent intent = new Intent(MainActivity.this, OtherActivity.class);用来创建一个意图,并设置需要打开的activity,然后在24行intent.putExtra("Main", "我是发送的数据~娃哈哈");发送消息,前一个string为消息名字,后面的为消息内容,最后启动另外一个activity.

复制代码
 1 public class MainActivity extends Activity implements OnClickListener {
 2     //声明按钮
 3     private Button btnOpen, btnHideActivity, btnExitActivity;
 4 
 5     @Override
 6     public void onCreate(Bundle savedInstanceState) {
 7         super.onCreate(savedInstanceState);
 8         setContentView(R.layout.main);
 9         //实例按钮
10         btnOpen = (Button) findViewById(R.id.btnOpen);
11         btnHideActivity = (Button) findViewById(R.id.btnHideActivity);
12         btnExitActivity = (Button) findViewById(R.id.btnExitActivity);
13         //给每个按钮添加监听
14         btnOpen.setOnClickListener(this);
15         btnHideActivity.setOnClickListener(this);
16         btnExitActivity.setOnClickListener(this);
17     }
18 
19     public void onClick(View v) {
20         if (v == btnOpen) {
21             //创建一个意图,并且设置需打开的Activity
22             Intent intent = new Intent(MainActivity.this, OtherActivity.class);
23             //发送数据 
24             intent.putExtra("Main", "我是发送的数据~娃哈哈");
25             //启动另外一个Activity
26             this.startActivity(intent);
27         } else if (v == btnHideActivity) {
28             this.finish();//退出Activity
29         }else if (v == btnExitActivity) {
30             System.exit(0);//退出程序
31         }
32     }
33 }
复制代码

 

在另一个activity中第8~11行:用Intent intent = this.getIntent();得到当前activity的意图,然后根据名字获得名字的内容:String str = intent.getStringExtra("Main");这样我们就能实现activity和activity之间的消息传递啦~

复制代码
 1 public class OtherActivity extends Activity {
 2     private TextView tv;
 3     @Override
 4     public void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         tv = new TextView(this); 
 7         setContentView(tv); 
 8         //得到当前Activity的意图
 9         Intent intent = this.getIntent();
10         //获取数据
11         String str = intent.getStringExtra("Main");
12         //将获取到的数据设置成TextView的文本
13         tv.setText(str);
14     }
15 }
复制代码

 

 

 

本文链接:http://www.cnblogs.com/zjutlitao/p/4230228.html

更多精彩:http://www.cnblogs.com/zjutlitao/p/

 



本文转自beautifulzzzz博客园博客,原文链接:http://www.cnblogs.com/zjutlitao/p/4230228.html,如需转载请自行联系原作者

相关文章
|
5月前
|
Android开发 开发者
Android基础知识:什么是Intent?有哪些类型的Intent?
Android基础知识:什么是Intent?有哪些类型的Intent?
372 0
|
存储 SQL 人工智能
Android Activity启动流程一:从Intent到Activity创建
Android Activity启动流程一:从Intent到Activity创建
|
Android开发
Android的页面跳转
Android的页面跳转
45 0
|
9天前
|
存储 大数据 数据库
Android经典面试题之Intent传递数据大小为什么限制是1M?
在 Android 中,使用 Intent 传递数据时存在约 1MB 的大小限制,这是由于 Binder 机制的事务缓冲区限制、Intent 的设计初衷以及内存消耗和性能问题所致。推荐使用文件存储、SharedPreferences、数据库存储或 ContentProvider 等方式传递大数据。
10 0
|
1月前
|
编解码 前端开发 Android开发
Android经典实战之TextureView原理和高级用法
本文介绍了 `TextureView` 的原理和特点,包括其硬件加速渲染的优势及与其他视图叠加使用的灵活性,并提供了视频播放和自定义绘制的示例代码。通过合理管理生命周期和资源,`TextureView` 可实现高效流畅的图形和视频渲染。
140 12
|
2月前
|
Java Android开发 UED
安卓scheme_url调端:如果手机上多个app都注册了 http或者https 的 intent。 调端的时候,调起哪个app呢?
当多个Android应用注册了相同的URL Scheme(如http或https)时,系统会在尝试打开这类链接时展示一个选择对话框,让用户挑选偏好应用。若用户选择“始终”使用某个应用,则后续相同链接将直接由该应用处理,无需再次选择。本文以App A与App B为例,展示了如何在`AndroidManifest.xml`中配置对http与https的支持,并提供了从其他应用发起调用的示例代码。此外,还讨论了如何在系统设置中管理这些默认应用选择,以及建议开发者为避免冲突应注册更独特的Scheme。
|
3月前
|
Android开发 Kotlin
Android经典面试题之Kotlin中Lambda表达式有哪些用法
Kotlin的Lambda表达式是匿名函数的简洁形式,常用于集合操作和高阶函数。基本语法是`{参数 -> 表达式}`。例如,`{a, b -> a + b}`是一个加法lambda。它们可在`map`、`filter`等函数中使用,也可作为参数传递。单参数时可使用`it`关键字,如`list.map { it * 2 }`。类型推断简化了类型声明。
22 0
|
5月前
|
数据库 Android开发
Android数据库框架-GreenDao入门,2024年最新flutter 页面跳转动画
Android数据库框架-GreenDao入门,2024年最新flutter 页面跳转动画
Android数据库框架-GreenDao入门,2024年最新flutter 页面跳转动画
|
5月前
|
定位技术 Android开发
Intent在Android中的几种用法
Intent在Android中的几种用法
62 1
|
5月前
|
Java Android开发
Android桌面快捷方式图标生成与删除 使用Intent与launcher交互
Android桌面快捷方式图标生成与删除 使用Intent与launcher交互
99 1