如何完成父活动

时间:2014-04-23 12:30:49

标签: android android-activity

我是android的新手..

版本[2.2]

我创建了一个主要活动[A],点击一个按钮就转到另一个活动[B]( “这个活动有透明背景所以主要活动[A]也可以查看”必需的必修课 )。

一旦我从活动[B]点击后退按钮,它应该转到活动[A](或)活动[B]有一些按钮,如果我点击活动[B]中的任何按钮它应该转到活动[C] 。

从活动[C]点击后退按钮活动[A]是实时的。

对我来说,从活动[C]点击后退按钮时我的应用应该是完成()......

请帮助我。

4 个答案:

答案 0 :(得分:0)

活动[c] 中输入此代码 -

@Override
public void onBackPressed() {
Intent intent = new Intent(this, activity[c].class);
                            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                            intent.putExtra("EXIT", true);
                            startActivity(intent);
}

并在活动[c] onCreate方法中输入此代码 -

if (getIntent().getBooleanExtra("EXIT", false)) {
            finish();
        } 

答案 1 :(得分:0)

每当你调用意​​图时,都要使用此代码来杀死之前的活动

Intent i=new Intent(activity[a].this,activity[b].class);
startActivity(i);
activity[a].this.finish();

此代码有助于清除所有活动示例:其明确活动[a]和活动[b]

Intent i = new Intent(activity[c].this,activity[a].class);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | 
                 Intent.FLAG_ACTIVITY_CLEAR_TASK |
                 Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(i);

答案 2 :(得分:0)

创建活动A后,您必须创建活动A的实例。 例如。     static A instanceA = this; 现在创建一个静态方法getInstace()

public static A getInstance(){
       return   instanceA;
     }
enter code here

Now in Activity B on setonclicklistener 
write A.getInstance().finish(); //For Activity A

并且还完成()//对于活动B

答案 3 :(得分:0)

您好,请逐一进行以下更改。要实现这一切,应该使用startActivityForResult而不是startActivity来开始。

  1. 启动活动A到B时,您应使用以下代码。

    startActivityForResult(new Intent(ActivityA.this,ActivityB.class),12);

  2. 启动活动B至c时,您应使用以下代码。

    startActivityForResult(new Intent(ActivityB.this,ActivityC.class),12);

  3. 在All Three Activity中添加以下方法。

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);      
            if(resultCode==12){
                  setResult(12);    
                  this.finish();
            }
    }
    

    完成任何活动后添加代码。 (如果单击活动A或B或C中的完成按钮),则在按钮完成的onClick下方添加。

    setResult(12);
    ClassName.this.finish();
    

    不要使用onBackPressed和startActivity。这是处理这个问题的简单方法。