如何正确完成所有开放活动?

时间:2015-12-06 05:52:45

标签: android

我有3项活动。 活动A 导致活动B ,返回开始活动C 。然而, 我在活动C 中放了一个按钮。

点击按钮后,活动A (新)并完成 C B

我正在使用以下代码,

活动A:

 delete.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

        Intent x=new Intent(A.this,B.class);
        x.putExtra("len_folder", length_folder);
        loop_thread=false;
        startActivity(x);
    }
});
动画结束

活动B:

   public void onAnimationEnd(Animation arg0) {
        imag_trash.clearAnimation();
 imag_trash.setVisibility(View.INVISIBLE);
 startActivity(new Intent(B.this,C.class));
 finish();

活动C:

            end_process.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

           startActivity(new Intent(C.this,A.class));
                finish();
            }
        });

但是我按了回来,仍然有活动C,活动C没有完成。 我不知道问题是什么。

2 个答案:

答案 0 :(得分:1)

编写如下所示的代码

 end_process.setOnClickListener(new OnClickListener() {

         @Override
         public void onClick(View arg0) {

             startActivity(new Intent(C.this,A.class));
             finish();
         }
 });

如果要关闭所有其他活动,请使用

end_process.setOnClickListener(new OnClickListener() {

         @Override
         public void onClick(View arg0) {

             Intent i=new Intent(C.this,A.class);
             i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
             startActivity(i);
         }
 });

答案 1 :(得分:0)

您可以执行以下操作,这样可以在您再次启动第一个活动时完成之前的所有活动。

将以下代码放入C活动

end_process.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View arg0) {
     Intent intent = new Intent(C.this, A.class);
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
     startActivity(intent);
    }
});