- 浏览: 841678 次
- 性别:
- 来自: 哈尔滨
-
文章分类
最新评论
-
doloveme:
$sudo cp MONACO_Linux.ttf /usr/ ...
terminator 的配置 -
腾讯rep:
lowser
RSA加密算法c++简单实现 -
csuhanyong:
好YD啊,好YD
一图流:机械键盘各轴区别 -
doloveme:
1。其中:extman ,extmail下载http://ww ...
Ubuntu下安装postfix+extmail邮件服务器 -
doloveme:
repo sync出现“fatal: '../platform ...
Android 编译环境配置搭建(Ubuntu 12.04)及环境导致编译错误QA
Activity之间的传值:
方法1: 1给2传值
Activity1:
final Intent intent = new Intent(mCtx,Activity1.class) ; //将当前用户传递下去 intent.putExtra("user", mUser); startActivity(intent);
里边mUser是一个对象,传的事实上是一个Map,"user"是对象mUser的key
Activity2:
mUser = (User) getIntent().getSerializableExtra("user");
mUser是对象,getIntent()是Activity的方法,值得注意的是得到的mUser 不是引用,而是new了一个对象并赋值,如果这东西要回传的话,要startActivity(intent);就会很SB。
所以用方法2
------------------------------------------------------------------------------------
方法2:
Activity1:
intent.setClass(mCtx, Activity2.class);
intent.putExtra("user", mUser);
startActivityForResult(intent, 1);
并且在Activity1中
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode==1 || data.getSerializableExtra("putUserbyhua")!=null) mUser=(User) getIntent().getSerializableExtra("putUserbyhua"); }
Activity2:
获取传来的值
mIntent = getIntent() mUser=(User) mIntent.getSerializableExtra(UserConst.USER_DATA);
在按返回键时跳转到1
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ final Intent intent=new Intent(); intent.setClass(mCtx, Activity2.class); intent.putExtra("putUserbyhua",mUser); this.setResult(1); this.finish(); } return super.onKeyDown(keyCode, event); }
评论
14 楼
doloveme
2011-05-20
现在好了,有代码了
13 楼
doloveme
2011-05-20
amaker8 写道
LZ上个能运行的实例。。。
哦,刚看懂,我一会上一个,呵呵
12 楼
doloveme
2011-05-20
amaker8 写道
LZ上个能运行的实例。。。
你这是肯定句,疑问句,还是反问句啊
11 楼
amaker8
2011-05-19
LZ上个能运行的实例。。。
10 楼
doloveme
2011-05-17
<div class="quote_title">doloveme 写道</div>
<div class="quote_div">
<p style="text-align: center;"><span style="background-color: #888888;"><span style="font-size: medium;">Android中Activity共享变量的另一方法:Application context:</span></span></p>
<p> 多个Activity中经常使用同一变量时,使用Bundle则比较麻烦,每次调用Activity都需要设置一次。
如想在整个应用中使用,在java中一般是使用静态变量,而在android中有个更优雅的方式是使用Application context。
</p>
<p> 新建一个类,继承自Application</p>
<p> </p>
<p> </p>
<pre name="code" class="java"> class MyApp extends Application {
private String myState;
public String getState() {
return myState;
}
public void setState(String s) {
myState = s;
}
}
</pre>
<p> </p>
<p> </p>
<p> </p>
<p><span style="border-collapse: collapse; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;">在AndroidManifest.xml的application加个name属性就可以了,如下面所示:<br><br> android:name=".MyApp" android:icon="@drawable/icon"<br> android:label="@string/app_name"></span></p>
<p> </p>
<p><span style="border-collapse: collapse; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;">使用时:</span><span style="border-collapse: collapse; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;"><span style="color: #ff0000;">(这个是重点)</span></span></p>
<p> </p>
<p> </p>
<pre name="code" class="java"> class Blah extends Activity {
@Override
public void onCreate(Bundle b){
...
MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getState();
...
}
}
class Blah extends
Activity {
@Override
public void onCreate(Bundle b){
...
MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getState();
...
}
}</pre>
<p> </p>
<p> </p>
<p> </p>
<p><span style="color: #ff0000; font-size: medium;">当然搞个单例也可以啊,呵呵,以后研究</span></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p><span style="color: #ff0000; font-size: x-large;">事实上 application就是一种他妈的单例</span></p>
<p> </p>
</div>
<p> </p>
<div class="quote_div">
<p style="text-align: center;"><span style="background-color: #888888;"><span style="font-size: medium;">Android中Activity共享变量的另一方法:Application context:</span></span></p>
<p> 多个Activity中经常使用同一变量时,使用Bundle则比较麻烦,每次调用Activity都需要设置一次。
如想在整个应用中使用,在java中一般是使用静态变量,而在android中有个更优雅的方式是使用Application context。
</p>
<p> 新建一个类,继承自Application</p>
<p> </p>
<p> </p>
<pre name="code" class="java"> class MyApp extends Application {
private String myState;
public String getState() {
return myState;
}
public void setState(String s) {
myState = s;
}
}
</pre>
<p> </p>
<p> </p>
<p> </p>
<p><span style="border-collapse: collapse; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;">在AndroidManifest.xml的application加个name属性就可以了,如下面所示:<br><br> android:name=".MyApp" android:icon="@drawable/icon"<br> android:label="@string/app_name"></span></p>
<p> </p>
<p><span style="border-collapse: collapse; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;">使用时:</span><span style="border-collapse: collapse; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;"><span style="color: #ff0000;">(这个是重点)</span></span></p>
<p> </p>
<p> </p>
<pre name="code" class="java"> class Blah extends Activity {
@Override
public void onCreate(Bundle b){
...
MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getState();
...
}
}
class Blah extends
Activity {
@Override
public void onCreate(Bundle b){
...
MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getState();
...
}
}</pre>
<p> </p>
<p> </p>
<p> </p>
<p><span style="color: #ff0000; font-size: medium;">当然搞个单例也可以啊,呵呵,以后研究</span></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p><span style="color: #ff0000; font-size: x-large;">事实上 application就是一种他妈的单例</span></p>
<p> </p>
</div>
<p> </p>
9 楼
doloveme
2011-05-17
jstl1point0 写道
application 共享很不错。
是的,给人一种一气呵成的感觉,不然会穿一堆特别sb的变量而且,会有修改的先后之分。
但是不知道application对于bean修改权限什么的,有没有逻辑上的安全隐患啊
8 楼
doloveme
2011-05-17
myyuren 写道
我遇到了一个这方面的问题,还请楼主解答。
http://topic.csdn.net/u/20110513/14/6b948267-4a2f-4f0d-9318-8f6e685bb5d8.html
这是连接。
activity A 跳向 activity B 时,传递一个List<对象> 出现黑屏现 象,有网友说是oncreate事件加载过多数据,list.size()==500左右的时候就开始黑屏。
http://topic.csdn.net/u/20110513/14/6b948267-4a2f-4f0d-9318-8f6e685bb5d8.html
这是连接。
activity A 跳向 activity B 时,传递一个List<对象> 出现黑屏现 象,有网友说是oncreate事件加载过多数据,list.size()==500左右的时候就开始黑屏。
这个我不大清楚,跳转和传数据应该是不同的线程吧,如果页跳过去了,数据还没传完,而数据和页面信息相关性很大,应该会出现这种情况,或者也是android的bug.应该加入同步支持,你可以试验一下,呵呵
7 楼
doloveme
2011-05-17
xucm1986 写道
application的生命周期知道哪为大虾可以指点下,在下不身感激
从程序开始,到结束
6 楼
xucm1986
2011-05-17
application的生命周期知道哪为大虾可以指点下,在下不身感激
5 楼
xucm1986
2011-05-17
我们一直都用application
4 楼
jstl1point0
2011-05-16
application 共享很不错。
3 楼
myyuren
2011-05-16
我遇到了一个这方面的问题,还请楼主解答。
http://topic.csdn.net/u/20110513/14/6b948267-4a2f-4f0d-9318-8f6e685bb5d8.html
这是连接。
activity A 跳向 activity B 时,传递一个List<对象> 出现黑屏现 象,有网友说是oncreate事件加载过多数据,list.size()==500左右的时候就开始黑屏。
http://topic.csdn.net/u/20110513/14/6b948267-4a2f-4f0d-9318-8f6e685bb5d8.html
这是连接。
activity A 跳向 activity B 时,传递一个List<对象> 出现黑屏现 象,有网友说是oncreate事件加载过多数据,list.size()==500左右的时候就开始黑屏。
2 楼
windfree
2011-05-16
楼主总结的不错,application确实很方便
1 楼
doloveme
2011-05-10
<p style="text-align: center;"><span style="background-color: #888888;"><span style="font-size: medium;">Android中Activity共享变量的另一方法:Application context:</span></span></p>
<p> 多个Activity中经常使用同一变量时,使用Bundle则比较麻烦,每次调用Activity都需要设置一次。
如想在整个应用中使用,在java中一般是使用静态变量,而在android中有个更优雅的方式是使用Application context。
</p>
<p> 新建一个类,继承自Application</p>
<p> </p>
<p> </p>
<pre name="code" class="java"> class MyApp extends Application {
private String myState;
public String getState() {
return myState;
}
public void setState(String s) {
myState = s;
}
}
class MyApp extends
Application {
private String myState;
public String getState() {
return myState;
}
public void setState(String s) {
myState = s;
}
}</pre>
<p> </p>
<p> </p>
<p> </p>
<p><span style="border-collapse: collapse; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;">在AndroidManifest.xml的application加个name属性就可以了,如下面所示:<br style=""><br style=""> android:name=".MyApp" android:icon="@drawable/icon"<br style=""> android:label="@string/app_name"></span></p>
<p> </p>
<p><span style="border-collapse: collapse; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;">使用时:</span><span style="border-collapse: collapse; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;"><span style="color: #ff0000;">(这个是重点)</span></span></p>
<p> </p>
<p> </p>
<pre name="code" class="java"> class Blah extends Activity {
@Override
public void onCreate(Bundle b){
...
MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getState();
...
}
}
class Blah extends
Activity {
@Override
public void onCreate(Bundle b){
...
MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getState();
...
}
}</pre>
<p> </p>
<p> </p>
<p> </p>
<p><span style="color: #ff0000; font-size: medium;">当然搞个单例也可以啊,呵呵,以后研究</span></p>
<p> </p>
<p> 多个Activity中经常使用同一变量时,使用Bundle则比较麻烦,每次调用Activity都需要设置一次。
如想在整个应用中使用,在java中一般是使用静态变量,而在android中有个更优雅的方式是使用Application context。
</p>
<p> 新建一个类,继承自Application</p>
<p> </p>
<p> </p>
<pre name="code" class="java"> class MyApp extends Application {
private String myState;
public String getState() {
return myState;
}
public void setState(String s) {
myState = s;
}
}
class MyApp extends
Application {
private String myState;
public String getState() {
return myState;
}
public void setState(String s) {
myState = s;
}
}</pre>
<p> </p>
<p> </p>
<p> </p>
<p><span style="border-collapse: collapse; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;">在AndroidManifest.xml的application加个name属性就可以了,如下面所示:<br style=""><br style=""> android:name=".MyApp" android:icon="@drawable/icon"<br style=""> android:label="@string/app_name"></span></p>
<p> </p>
<p><span style="border-collapse: collapse; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;">使用时:</span><span style="border-collapse: collapse; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;"><span style="color: #ff0000;">(这个是重点)</span></span></p>
<p> </p>
<p> </p>
<pre name="code" class="java"> class Blah extends Activity {
@Override
public void onCreate(Bundle b){
...
MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getState();
...
}
}
class Blah extends
Activity {
@Override
public void onCreate(Bundle b){
...
MyApp appState = ((MyApp)getApplicationContext());
String state = appState.getState();
...
}
}</pre>
<p> </p>
<p> </p>
<p> </p>
<p><span style="color: #ff0000; font-size: medium;">当然搞个单例也可以啊,呵呵,以后研究</span></p>
<p> </p>
发表评论
-
JAVA代码混淆
2016-05-05 18:24 1484JAVA代码混淆 <!--[if !supportL ... -
android 监听状态栏被下拉
2015-12-25 17:23 3515Activity的onWindowFocusChange()方 ... -
android使用mount挂载/system/app为读写权限,删除或替换系统应用
2015-11-27 14:13 4070注意:以下代码中#开头的则为需要执行的shell命令,其他的 ... -
Ubuntu 14.04 文件服务器--samba的安装和配置
2015-11-10 10:49 655jingyan.baidu.com/album/00a07f ... -
intellij 打开工程在每个java文件上 有个红色的无效符
2015-07-24 13:52 1802说明该类不是可编译文件。在project Structure中 ... -
logcat命令详解
2015-07-22 16:34 1003Android日志系统提供了记录和查看系统调试信息的功能。日 ... -
gradle打包遇到的错误汇总
2015-07-21 11:32 0错误1:A problem occurred ... -
Android读写XML(下)——创建XML文档
2015-04-29 11:02 633在前面的2篇文章Android读写XML(上)—— pack ... -
Android读写XML(中)——SAX
2015-04-29 10:54 638在Android读写XML(上) ... -
Android读写XML(下)——创建XML文档
2015-04-29 10:52 716在前面的2篇文章Android读写XML(上)—— pack ... -
android:configChanges locale 改语言后,该配置不起作用的原因
2015-03-23 14:38 2563@Override public void on ... -
android.app.Fragment$InstantiationException 解决办法
2015-03-23 13:46 1438android.app.Fragment$Instantia ... -
linux 查看内存
2015-02-10 13:08 7591、free监控内存使用情况 #free 2、watc ... -
android fastboot 刷机 指令
2015-01-19 18:31 1549原生bootloader:bootloader-gro ... -
[Android实例] android中进行https连接的方式的详解 (转发)
2015-01-09 15:50 709x 如果不需要验证服务器端证书, ... -
编译android源码apk是否生成odex方法
2014-10-20 17:19 1677其实Android系统默认的配置是,如果没有指定DISABL ... -
关于android源码中的APP编译时引用隐藏的API出现的问题
2014-10-20 15:36 875今天在编译android源码中的计算器APP时发现,竟然无法 ... -
Android系统进程Zygote启动过程的源代码分析
2014-09-17 10:09 537在Android系统中, ... -
Handler和HandlerThread
2014-09-16 16:58 7111.什么是Handler? SDK中关于Handler的说 ... -
怎样识别三洋18650锂电池电芯
2014-09-01 09:52 1153浏览:20384 | 更新:2011-03 ...
相关推荐
"在Activity之间传值"是一个核心的技能,涉及到Intent、 Extras、Parcelable接口等多种方式。下面我们将详细探讨这些方法。 1. **Intent**: Intent是Android中的一个关键概念,它用于启动一个新的Activity或服务,...
Activity之间的数据传递是一个常见的需求,尤其在构建多层级、复杂交互的应用时。本篇将详细讲解如何在Android Studio 3.1环境下,通过Intent实现Activity间的简单传值。 一、Intent的使用 Intent是Android系统中...
本教程将深入探讨如何在Activity之间进行传值,涉及的数据类型包括基本类型、对象、对象集合以及Map,同时会介绍Android中两种主要的序列化机制:Parcelable和Serializable。 一、基本类型的传值 对于Java的基本...
在Android应用开发中,Activity是用户界面的基本单元,经常需要在不同的Activity之间传递数据。本文将详细介绍如何在Android的两个Activity之间进行值的传递,并结合实际案例进行解析。 首先,我们可以通过Intent...
Android 中点击按钮启动另一个 Activity 及 Activity 之间传值问题是 Android 开发中非常重要的一个知识点。通过本文,我们将详细介绍如何在 Android 中点击按钮启动另一个 Activity,並且实现 Activity 之间的传值...
该资源主要包含了Android中Intent中如何传值的几种方法: 1:基本数据类型,包含了Java八种基本数据类型和CharSequece文本 2:八种数据类新对应数组和CharSequece文本数组 3:Bundle传值 4:ArrayList集合 5:...
本篇将深入探讨“activity之间的传值”这一主题,并以`IntentDemo1`为例进行实践讲解。 一、Intent:数据传递的载体 Intent是Android系统中的一个核心类,它主要用于启动其他组件(如Activity、Service等)或传递...
在某些场景下,我们可能需要Service与Activity之间进行数据传递,例如本例中的“Service向Activity传值,实现Count累加的效果。定时传值”。这种需求常见于实时更新UI或者进行后台计数等操作。 首先,我们来详细...
在某些场景下,我们可能需要在`Service`和`Activity`之间传递数据,比如`Service`执行完一些操作后,将结果传递给`Activity`进行展示。本篇文章将详细讲解如何实现`Service`到`Activity`的数据传递。 1. **创建...
而Fragment则是一个可插入到Activity中的部分用户界面,它有自己的生命周期,可以在不同Activity之间复用,增强了应用的灵活性和模块化。 在Activity与Fragment之间进行传值主要有以下几种方法: 1. **通过Intent...
在Android应用开发中,Activity是用户界面的基本单元,经常需要在不同的Activity之间传递数据。"Android Activity间传值"是一个核心知识点,它涉及到Intent、 Extras、Parcelable接口、Serializable接口等多种方式,...
本篇将详细探讨Fragment之间如何通过Activity进行传值和调用方法,以及接口关联的实现方式。 首先,让我们了解Fragment和Activity的基本交互。Fragment有自己的生命周期,但它的创建和销毁都受到所在Activity的控制...
Fragment可以理解为Activity的一部分,可以在不同的Activity之间复用,也可以在同一个Activity内动态添加或移除。本篇将深入探讨Fragment与Activity之间的数据传递,以及通过实际例子来说明这一过程。 一、Fragment...
在Android应用开发中,Activity是应用程序的基本组成部分,用于展示用户界面和处理用户交互。...通过理解并熟练运用这些概念和方法,开发者可以轻松地在多个Activity之间传递数据,从而实现更复杂的Android应用功能。
在Android开发中,Activity是应用程序的基本组件,Intent则充当了Activity之间通信的桥梁。当我们需要在不同的Activity之间传递数据时,Intent就起到了至关重要的作用。本文将深入探讨如何使用Intent在Activity之间...
Activity之间使用接口传值,只是两个activity,但是我感觉很经典,这个问题我看了很久了,很简单,会用,但是不懂。 set方法用于监听,也就是事件的触发。 set的主要作用:在你声明接口的地方把接口实例化 ,不是...
http://blog.csdn.net/RichieZhu/article/details/51024772
当用户在应用中进行操作时,可能会在不同的Activity之间切换。在实际的开发过程中,常常需要在两个Activity之间传递数据,比如从一个Activity启动另一个Activity并传递一些参数,然后在新的Activity中处理这些参数,...
本知识点主要探讨如何在不同的Activity之间传递值,这是一个非常基础但至关重要的概念。 一、Intent:传递数据的载体 在Android中,Intent不仅用于启动Activity,还承载了Activity间的数据传输。通过在Intent中...