- 浏览: 799733 次
- 性别:
- 来自: 哈尔滨
文章分类
最新评论
-
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 1365JAVA代码混淆 <!--[if !supportL ... -
android 监听状态栏被下拉
2015-12-25 17:23 3372Activity的onWindowFocusChange()方 ... -
android使用mount挂载/system/app为读写权限,删除或替换系统应用
2015-11-27 14:13 3947注意:以下代码中#开头的则为需要执行的shell命令,其他的 ... -
Ubuntu 14.04 文件服务器--samba的安装和配置
2015-11-10 10:49 598jingyan.baidu.com/album/00a07f ... -
intellij 打开工程在每个java文件上 有个红色的无效符
2015-07-24 13:52 1707说明该类不是可编译文件。在project Structure中 ... -
logcat命令详解
2015-07-22 16:34 927Android日志系统提供了记录和查看系统调试信息的功能。日 ... -
gradle打包遇到的错误汇总
2015-07-21 11:32 0错误1:A problem occurred ... -
Android读写XML(下)——创建XML文档
2015-04-29 11:02 569在前面的2篇文章Android读写XML(上)—— pack ... -
Android读写XML(中)——SAX
2015-04-29 10:54 588在Android读写XML(上) ... -
Android读写XML(下)——创建XML文档
2015-04-29 10:52 659在前面的2篇文章Android读写XML(上)—— pack ... -
android:configChanges locale 改语言后,该配置不起作用的原因
2015-03-23 14:38 2342@Override public void on ... -
android.app.Fragment$InstantiationException 解决办法
2015-03-23 13:46 1310android.app.Fragment$Instantia ... -
linux 查看内存
2015-02-10 13:08 6931、free监控内存使用情况 #free 2、watc ... -
android fastboot 刷机 指令
2015-01-19 18:31 1465原生bootloader:bootloader-gro ... -
[Android实例] android中进行https连接的方式的详解 (转发)
2015-01-09 15:50 666x 如果不需要验证服务器端证书, ... -
编译android源码apk是否生成odex方法
2014-10-20 17:19 1577其实Android系统默认的配置是,如果没有指定DISABL ... -
关于android源码中的APP编译时引用隐藏的API出现的问题
2014-10-20 15:36 770今天在编译android源码中的计算器APP时发现,竟然无法 ... -
Android系统进程Zygote启动过程的源代码分析
2014-09-17 10:09 452在Android系统中, ... -
Handler和HandlerThread
2014-09-16 16:58 6531.什么是Handler? SDK中关于Handler的说 ... -
怎样识别三洋18650锂电池电芯
2014-09-01 09:52 1065浏览:20384 | 更新:2011-03 ...
相关推荐
在Activity之间传值,具体请见: http://blog.csdn.net/princelxz/article/details/27696927
基于android studio 3.1开发环境。展示了两个Activity中的简单传值
此代码详细讲解了activity之间的传值的类型,包括常见的数据类型,对象,对象集合以及Map等。
NULL 博文链接:https://fish198398.iteye.com/blog/1090696
该资源主要包含了Android中Intent中如何传值的几种方法: 1:基本数据类型,包含了Java八种基本数据类型和CharSequece文本 2:八种数据类新对应数组和CharSequece文本数组 3:Bundle传值 4:ArrayList集合 5:...
主要介绍了Android中点击按钮启动另一个Activity及Activity之间传值问题,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
activity之间的传值demo http://blog.csdn.net/dl10210950/article/details/52072584
activity之间传值,对于初学者来说容易看懂
Activity与Fragment之间进行传值,相关博文:http://www.cnblogs.com/tianzhijiexian/p/3888330.html
android activity窗口背景透明,activity之间传值,bundle携带数据,activity学习入门代码范例
本篇文章将用一个实例,详细的为大家讲解怎么注册并激活一个新的Activity,以及多个Activity之间如何传值
Activity之间使用接口传值,只是两个activity,但是我感觉很经典,这个问题我看了很久了,很简单,会用,但是不懂。 set方法用于监听,也就是事件的触发。 set的主要作用:在你声明接口的地方把接口实例化 ,不是...
http://blog.csdn.net/RichieZhu/article/details/51024772
http://blog.csdn.net/richiezhu/article/details/51024772
Android PopupWindow与Activity之间的数据传递
以及Activity之间的通过Intent传值,startActivityForResult(intent, REQUSET)以及onActivityResult(int requestCode, int resultCode, Intent data)基本使用
主要介绍了Android 中两个Activity 之间的传值问题的相关资料,需要的朋友可以参考下
两个Activity之间传递参数的代码
Activity之间传值的小demo,主要使用了Intent和Bundle对象,和startActivityForResult方法