我有一个聊天应用程序,如果用户想要删除他的帐户,我创建了一个删除帐户的活动,我成功完成没有问题,但我的问题是我想将用户转移到注册活动,但是问题是用户可以返回删除帐户活动,删除功能由活动和片段组成。
我尝试使用getActivity().finish()
,但是当按下后退按钮时,它会返回没有片段的删除活动!
另一方面,我想关闭应用程序但有些人对我说这是一个丑陋的解决方案。
答案 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();
}
}