Android 获取intentextra和onCreate方法?
我有A、B和C类。A类将意图发送给B,B运行C,C返回给B…..但在B类的onCreate中,它希望得到A类的意图。但是因为它来自C类,所以它没有得到它,但我仍然需要A类的意图 你知道怎么解决这个问题吗?我想一个解决方案可能是将额外的.getString存储在数据库或类似数据库中Android 获取intentextra和onCreate方法?,android,android-intent,oncreate,Android,Android Intent,Oncreate,我有A、B和C类。A类将意图发送给B,B运行C,C返回给B…..但在B类的onCreate中,它希望得到A类的意图。但是因为它来自C类,所以它没有得到它,但我仍然需要A类的意图 你知道怎么解决这个问题吗?我想一个解决方案可能是将额外的.getString存储在数据库或类似数据库中 Bundle extras = getIntent().getExtras(); newString = extras.getString("ID"); 由于我不知道您的活动流程,这是一个解决方案,但可能不是合适
Bundle extras = getIntent().getExtras();
newString = extras.getString("ID");
由于我不知道您的活动流程,这是一个解决方案,但可能不是合适的解决方案 当你开始新的活动时,多放一点
intent.putExtra("ID_FROM_A", value); // except for ActivityA value = mIdFromA
startActivity(intent);
论接受活动
onCreate()
{
mIdFromA = getIntent().getStringExtra("ID_FROM_A");
}
如果我没弄错的话: 活动A:
- 创建intentAtoB
- 开始活动B
- 接收意向书
- 创建intentBtoC
- 开始活动C
- 接收意向书
- 做点什么
如果你能(a)确认顺序是什么,如果(b)澄清上述方法不起作用的原因,我相信我们可以继续前进。你可以通过额外的证明“这是a类”从a类获得意图,然后将其设置为本地意图
extras = getIntent().getExtras();
String a = extras.get("KEY");
if (a.equlas("A_CLASS") {
class_a_extras = getIntent();
}
你的意思是:A->B->C->A(如你所写)还是A->B->C->B(如你稍后所暗示的)?哦,我很抱歉,我的意思是A->B->C->B。你唯一想要的是来自“ID”@user1876202的字符串。谢谢-我已经在下面列出了答案的开头,如果你能评论并回答其中的问题,我今天稍后会再看。接近
1。使用finish()返回活动B,
更好。只需将值存储在活动B的类级变量中,存储在活动B的onCreate()
中。正如我在上面的回答中所建议的那样。@user370305我同意这是更好的方法,我只是想找出问题作者实际上在做什么,以帮助他们从哪里开始。