【问题标题】:Are activities created by intents of the same class, the same activity?由同一个类的意图创建的活动是同一个活动吗?
【发布时间】:2013-02-28 18:30:25
【问题描述】:

如果我每次单击按钮时都创建一个相同类的新Intent,那么创建的活动是否相同?

每次单击按钮时,我都希望显示一个带有滑块的对话框,并且在更改它之后,我希望保存状态,以便下次打开对话框时滑块的状态为一样的。

我的按钮代码是这样的:

button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        Intent intent = new Intent(v.getContext(), Slider_Logic.class);
        v.getContext().startActivity(intent);               
    }
});

【问题讨论】:

  • 您必须传递额外的 Bundle 参数才能保存您的状态或滑块的状态。这意味着您必须将状态保存在某处然后启动意图,否则它将没有任何意义,它将只有您的此类的初始参数。 stackoverflow.com/questions/768969/…

标签: android android-intent android-activity android-lifecycle


【解决方案1】:

我认为“相同”是指相同的对象实例。答案是不。通常,当您启动一个新 Activity 时,它会创建该 Activity 的一个新实例并将其推送到现有 Activity 前面的堆栈中。

我说“一般”是因为活动的launch mode 可以影响这种行为。例如,如果您将launchMode 设置为singleTop,如果目标任务中尚不存在活动实例,它将创建一个新实例。请参阅文档以获取更多信息。

【讨论】:

    猜你喜欢
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 1970-01-01
    • 2011-05-09
    相关资源
    最近更新 更多