📅  最后修改于: 2023-12-03 14:50:21.069000             🧑  作者: Mango
在Android开发中,经常需要用到删除确认对话框,以避免用户不小心误删除数据。本文将介绍如何创建一个删除角对话框片段,以便在需要时重用。
我们要创建一个继承自DialogFragment
的类,用于创建删除对话框片段。以下是示例代码:
public class DeleteConfirmationDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.delete_confirmation_message)
.setPositiveButton(R.string.delete, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// 用户点击了“删除”按钮
// 在这里写上想要执行的代码
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// 用户点击了“取消”按钮
// 关闭对话框
dismiss();
}
});
// 创建对话框
return builder.create();
}
}
上述代码中,onCreateDialog()
方法用于创建对话框,其中包括消息内容、删除按钮和取消按钮。当用户点击删除按钮时,会执行onClick()
方法中的代码。
要使用这个删除对话框片段,我们可以在Activity中调用DeleteConfirmationDialogFragment
,并实现DialogInterface.OnClickListener
接口。以下是示例代码:
public class MainActivity extends Activity implements DialogInterface.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
void showDeleteConfirmationDialog() {
DialogFragment dialogFragment = new DeleteConfirmationDialogFragment();
dialogFragment.show(getFragmentManager(), "DeleteConfirmationDialogFragment");
}
@Override
public void onClick(DialogInterface dialog, int id) {
// 用户点击了“删除”按钮后的代码
}
}
在需要时,我们可以从Activity中调用showDeleteConfirmationDialog()
方法来显示删除对话框片段。
我们可以把这个删除对话框片段放在单独的Java文件中,以便在需要时重用。以下是示例代码:
public class DeleteConfirmationDialogFragment extends DialogFragment {
private DialogInterface.OnClickListener mListener;
public DeleteConfirmationDialogFragment(DialogInterface.OnClickListener listener) {
mListener = listener;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.delete_confirmation_message)
.setPositiveButton(R.string.delete, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
mListener.onClick(dialog, id);
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dismiss();
}
});
return builder.create();
}
}
上述代码中,我们在构造函数中接收一个DialogInterface.OnClickListener
类型的参数,调用mListener.onClick()
方法来执行用户点击删除按钮后的代码。这样,我们就可以从外部调用该删除对话框片段,并定义其行为。
本文介绍了如何创建一个删除角对话框片段,并展示了如何在Activity中使用和重用该片段。通过这种方法,我们可以在Android应用中轻松地实现删除确认对话框。