我的活动溢出图如下:
Main_Activity ---> Detail_Activity ---> Expandablelist_Activity 使用意图总是通过这个代码块完成
Intent intent = new Intent(mContext,DetailActivity.class)
.putExtra("movieInfo",feedItem);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
但是,我想设置我的意图从Expandablelist_Activity开始,这将通过Detail_Activity达到,.putExtra("movieInfo",feedItem);
在Main_Activity中,所以我想设置这个意图的代码块
Intent intent = new Intent(mContext,DetailActivity.class)
.putExtra("movieInfo",feedItem);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
Intent intent_reviews = new Intent(mContext,Expandablelist.class)
.putExtra("movieInfo",feedItem);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
不使用mContext.startActivity(Expandablelist_Activity.class);
方法,只是为了在显示Detail_Activity后稍后使用时将所需的数据对象传递给Expandablelist Activity。
任何人都可以告诉我这一步是否属实,如果错误,我怎样才能在以后的活动中获得意图而不启动它。在此之前,您的回复将受到赞赏。
答案 0 :(得分:0)
假设您有MainActivity
,DetailActivity
,ExpandableActivity
。从您的问题看起来就像您尝试执行以下操作:
MainActivity
开始DetailActivity
和路径movieInfo
作为意图有效负载。DetailActivity
开始ExpandableActivity
使用相同的有效负载。如果我正确理解了您的问题,您需要执行以下操作:
在MainActivity
:
Intent intent = new Intent(mContext,DetailActivity.class)
.putExtra("movieInfo",feedItem);
startActivity(intent);
在DetailActivity
:
//When you want to open ExpandableActivity with same payload
Intent intent = getIntent();
if(intent != null) {
intent.setClass(this, ExpandableActivity.class);
startActivity(intent);
}
在ExpandableActivity
:
Intent intent = getIntent();
if(intent != null) {
//Use extra
}