在两个activity之间传数据有了很多介绍,在跳转时用putExtras将数据压进去,在新的activity的onCreate接收即可,大多数的资料是这样说的。我的需求稍稍不一样的地方,在跳转到新的activity后,原来的activity还在里面,在新的activity使用finish后就返回老的activity,从onResume函数看到回来了,无需通过跳转来完成,所以问题就是,新的activity如何给老的activity传数据呢?
解决方案 »
- 菜鸟求解!android上有图像处理的api吗?
- android绘图问题,指定填充一个区域颜色
- 【求教】有一个弱弱的问题?
- git下载common文件
- ADT 插件装不上,提示:Cannot complete the install because one or more required items coul
- 请教:关于android下编译apk
- android SharedPreferences putStringSet问题
- 有谁用过Android-Pdf-Viewer-Library这个开源框架
- MVP设计模式的源码,有一段逻辑看不懂,求解
- RxJava中遇到的问题,求大神指导
- android用 juv-rtmp-client 连接fms 5.03 建立 ShareObject 问题
- 请问我到安卓市场提交程序的时候说在htc g12 4.04上有问题该怎么办呢
我的新activity是一个在文件列表中选一个文件,选中文件后通知上一级,不管上一级是什么activity。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent result) {
if (resultCode != RESULT_OK) {
finish();
return;
}
}
里面的result就是在新的activity中设置的data传递过来的。
我的新activity是一个在文件列表中选一个文件,选中文件后通知上一级,不管上一级是什么activity。
你的文件列表是在哪个Activity上启动的。那他就应该是文件列表的上一级Activity。
intent.setClass(B.class);
startActivityForResult(intent,request_code);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent result) {
if (resultCode != RESULT_OK) {
String a = result.getStringExtra(key);
}
}B:
Intent intent = new Intent();
intent.putStringExtra(key,value);
setResult(RESULT_OK,intent);
finish();
String a = result.getStringExtra(key);
}更正if (resultCode == RESULT_OK) {
String a = result.getStringExtra(key);
}
-------------------
JAVA是没有全局变量的,连对象变量都没有全局的,有时连对象名是什么都不能知道的。
但类的定义是全局性的。解决的简单有效办法就是利用类的静态变量解决全局问题:
比如安卓程序有两幅窗口,主窗口类名 MainActivity 第二个窗口是SecondActivity类名是知道的,
但对象名是不知道的。只要在主类中加一个 静态变量就可!
public class MainActivity extends Activity {
static String rs; // 静态变量将是全局性的,访问办法: 类名.静态变量名 static int gloalV; // 全局性的
................}
在另一个类中 SecondActivity 就可以访问它个全局变量了:
MainActivity.rs="全局变量,可以任意访问了!!!";
int v=MainActivity.gloalV; // 变量值取过来!
用类的静态变量做全局变量有两个好处:
1.知道类名就可以任意全局访问静态变量,不用知道类的实例名(也称对象名);
2.不管类有多少对象,静态变量只有一份,不需实例就可访问;
---------------
这种土办法会不会有副作用就不知道了,希望高手点一点,我也是初学安卓半个月。