A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在继承tabActivity类里用Intent向子activity传递数据 在子Activit用getIntent()去获取数据老是获取不到 是不能这样获取吗 求解

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

6 个回复

倒序浏览
能不能把具体代码发来看一下,我没明白你是想在两个子activity间传值,还是通过TabActivity向子Activity传值,想实现什么功能
回复 使用道具 举报
本帖最后由 790324255a 于 2014-5-27 13:33 编辑
BigKarel 发表于 2014-5-26 20:54
能不能把具体代码发来看一下,我没明白你是想在两个子activity间传值,还是通过TabActivity向子Activity传 ...

是这样的
A是继承tabActivity B,C是A的子Activity
子B activity
Intent intent=new Intent(this,A.class);
intent.putExtra("value",value);
startActivity(intent);

在A
Intent intent=getIntent();
String value=intent.getStringExtra("value",null);
intent.putExtra("value",value);
intent.setClass(this,C.class);
tabSpec.setIntent(intent);
tabhost.addTab(tabSpec);
在A能接收到这个数据

然后在C Activity中
String value=getIntent().getStringExtra("value",null);此时在C中不能收到这个数据 value=null






评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
大概是通过intent中加入Bundle传输数据,如由TabActivity传入mActivity数据height=10
在TabActivity中:
Intent intent = new Intent();
intent.setClas(TabActivity.this,mActivity.class);/*第一个参数是package路径,第二个是类名,我两个类放在一个package下*/
Bundle bundle = new Bundle();
bundle.putString("height","10");
intent.putExtras(bundle);
startActivity(intent);

在mActivity中
private Intent intent;
private Bundle bunde;
intent = this.getIntent();
bunde = intent.getExtras();
String height = bunde.getString("height");明白没有

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
TS__likewise 发表于 2014-5-27 13:58
大概是通过intent中加入Bundle传输数据,如由TabActivity传入mActivity数据height=10
在TabActivity中:
In ...

这样传递的话,开启的mActivity就不在TabActivity里 我想要的效果是能传递数据 但mActivity还是在TabActivity还是充当其子activity
回复 使用道具 举报
790324255a 发表于 2014-5-27 13:31
是这样的
A是继承tabActivity B,C是A的子Activity
子B activity

你使用了startActivity进行B子页面的跳转到A是错误的,像TabActivity这样的布局所实现的功能是导航栏所引导的各子界面的切换,之所以能够跳转是因为他定义了TabHost。
一般我们在界面之间实现数据的传递,主要通过Intent类。如果你的数据是要共享给每个子界面的还,我建议你直接定义一个全局变量类,更方便。像这中TabActivity不能用startActivity,你可以使用Android的广播机制sendBroadcast(intent)来传递,在需要接受的界面定义个MyRecever extends BroadcastReceiver,注意要注册这个广播接收器,并过滤。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
BigKarel 发表于 2014-5-27 23:39
你使用了startActivity进行B子页面的跳转到A是错误的,像TabActivity这样的布局所实现的功能是导航栏所引 ...

嗯 好的 我尝试下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马