我有一项可以通过不同活动访问的活动。 就像你有一个包含listview的活动,第二个包含gridview,它们都显示相同的数据。单击某个项目时,将显示包含某些详细信息的新活动。我需要以某种方式记住哪个活动是初始活动(使用gridview或listview),以便我可以设置一个按钮来重定向。但仅仅返回到之前的活动(例如使用finish()来关闭当前活动)是不够的,因为有一种方法可以在细节活动内部导航不同的对象(我在该屏幕上有一个gridview)。因此,我需要记住在细节活动中移动多次的初始视图。 有办法吗?
编辑:omg为什么这么多的downvotes?至少告诉我为什么它是如此愚蠢,我正在学习Android的编码2周我怎么知道一切?答案 0 :(得分:3)
这听起来最好通过在同一Activity
答案 1 :(得分:0)
您可以使用bundle对象将数据传递给新活动(B),这样您就可以知道活动(listView或gridView)已启动它。
在活动B中:
private static final String ACTIVITY_TYPE = "activity_type";
public static Intent createIntent(Context context,String activityType)
{
Intent intent = new Intent(context, ActivityB.class);
Bundle b = new Bundle();
b.putString(ACTIVITY_TYPE,activityType);
intent.putExtras(b);
return intent;
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Bundle b = getIntent().getExtras();
String activityType;
if (b != null)
{
activityType = b.getString(ACTIVITY_TYPE);
}
//the calling activity didn't use the createIntent method and didn't provide the activity type
else
{
activityType = "some_default_type";
}
//save activity type to use later
//rest of your code
}
在通话活动中:
Intent intent = ActivityB.createIntent(ActivityListView.this,"activity_list_view");
startActivity(intent);
答案 2 :(得分:-1)
你应该以非常相反的顺序从活动中走出来,然后你就到了那一点,如果你计划以意图回去 - 这就是愚蠢....