要使用AlertDialog.Builder
取消對(duì)話框,您需要首先創(chuàng)建一個(gè)AlertDialog
實(shí)例,然后使用setOnCancelListener()
方法為其設(shè)置一個(gè)取消監(jiān)聽器。當(dāng)用戶點(diǎn)擊對(duì)話框的“取消”按鈕時(shí),監(jiān)聽器會(huì)觸發(fā)一個(gè)回調(diào)方法。在這個(gè)方法中,您可以執(zhí)行取消對(duì)話框所需的操作。
以下是一個(gè)簡單的示例:
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog();
}
});
}
private void showDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("取消對(duì)話框");
builder.setMessage("您確定要取消嗎?");
// 設(shè)置取消監(jiān)聽器
builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
// 在這里執(zhí)行取消對(duì)話框所需的操作
cancelDialog();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
private void cancelDialog() {
// 在這里執(zhí)行取消對(duì)話框所需的操作,例如關(guān)閉對(duì)話框、釋放資源等
// ...
}
}
在這個(gè)示例中,當(dāng)用戶點(diǎn)擊“取消”按鈕時(shí),onCancel()
方法會(huì)被觸發(fā),然后調(diào)用cancelDialog()
方法執(zhí)行相應(yīng)的操作。您可以根據(jù)實(shí)際需求修改這個(gè)方法中的代碼。