【问题标题】:How to close the 'Activity Home' when i was in 'Activity Details'?当我在“活动详情”中时,如何关闭“活动主页”?
【发布时间】:2014-04-08 15:26:52
【问题描述】:

我得到了三个Activity,分别是“Acitvity Login”、“Activity Home”和“Activity Details”

我从“活动登录”转到“活动主页”,同时我将关闭“活动登录” 从“活动主页”我将转到“活动详细信息”,但我没有关闭“活动主页”,因为我可能必须返回“活动主页” 在“活动详细信息”中,我有一个注销按钮,单击此按钮我必须进入“活动登录” 现在,我的问题是当我在“活动详情”中时如何关闭“活动主页”?

谢谢,

南达基肖 P

【问题讨论】:

标签: android android-activity


【解决方案1】:

当你调用另一个活动时,

 Intent intent = new Intent(this, LoginActivity.Class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    finish(); //<- this is the command that "closes" your current activity  

阅读更多关于它以根据您的要求更好地应用代码:

http://developer.android.com/reference/android/app/Activity.html
How to finish Activity when starting other activity in Android?
Android finish Activity and start another one

【讨论】:

    【解决方案2】:

    Activity Details:

    public static ActivityA instance = null;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        instance = this;
    }
    
    @Override
    public void finish() {
        super.finish();
        instance = null;
    }
    

    然后在 Acitvity 登录:

    public void onCreate(Bundle savedInstanceState) {
        if(ActivityA.instance != null) {
            try {  
                ActivityA.instance.finish(); 
            } catch (Exception e) {}
        }
    }
    

    【讨论】:

      【解决方案3】:

      你可以这样做:

      在Activity Home中定义一个静态实例

      在活动详情中,您可以像这样完成活动主页:

      ActivityHome.instance.finish();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多