防止返回或关闭应用

时间:2018-05-26 15:02:10

标签: java android performance android-fragments

我有一个聊天应用程序,如果用户想要删除他的帐户,我创建了一个删除帐户的活动,我成功完成没有问题,但我的问题是我想将用户转移到注册活动,但是问题是用户可以返回删除帐户活动,删除功能由活动和片段组成。

我尝试使用getActivity().finish(),但是当按下后退按钮时,它会返回没有片段的删除活动!

另一方面,我想关闭应用程序但有些人对我说这是一个丑陋的解决方案。

1 个答案:

答案 0 :(得分:0)

关闭活动应始终由活动本身完成 根据文档Communicating with Activity from Fragment,使用界面从Fragment到Activity进行交互总是很好。

<强> Activity : -

public class DeleteAccountActivity extends AppCompatActivity implements DeleteUserFragment.DeleteCompletedCallback {

   public void onDeleteCompleted() {
      Intent intent = new Intent(DeleteAccountActivity.this,RegisterAccountActivity.class);
      startActivity(intent);
      finish();
   }       
}

<强> Fragment : -

public class DeleteUserFragment extends Fragment {
   private DeleteCompletedCallback deleteCompletedCallback;//Creating A Callback For Interaction With Activity In The Fragtment.

   @Override
   public void onAttach(Activity activity) {
     super.onAttach(activity);
     deleteCompletedCallback = (DeleteCompletedCallback) activity;
   }

   public interface DeleteCompletedCallback{//Making The Interface To Be Implemented In The Activity.
       void onDeleteCompleted();
   }        
  }
}

用户成功删除后写这些行,可能是这样的: -

if(isUserDeleted())
{
 if(deleteCompletedCallback != null)
    {
      deleteCompletedCallback.onDeleteCompleted();
    }
}