如何处理alertdialog的取消事件

avatar
作者
猴君
阅读量:0

处理 AlertDialog 的取消事件非常简单。在创建 AlertDialog 时,需要使用 setCancelable(true) 方法来启用取消功能。然后,可以为 AlertDialog 设置一个 OnCancelListener,当用户点击取消按钮时,会触发该监听器。

以下是一个简单的示例,展示了如何在 Android 应用中处理 AlertDialog 的取消事件:

import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText;  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("输入你的名字");          View view = getLayoutInflater().inflate(R.layout.dialog_layout, null);         final EditText input = view.findViewById(R.id.editText);          builder.setView(view);         builder.setCancelable(true); // 启用取消功能          final AlertDialog alertDialog = builder.create();         alertDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {             @Override             public void onCancel(DialogInterface dialog) {                 String inputText = input.getText().toString();                 if (!inputText.isEmpty()) {                     // 在这里处理用户取消操作,例如保存输入的数据                     Toast.makeText(MainActivity.this, "取消操作,输入的数据为:" + inputText, Toast.LENGTH_SHORT).show();                 } else {                     // 在这里处理用户点击取消按钮且没有输入任何数据的情况                     Toast.makeText(MainActivity.this, "取消操作,没有输入任何数据", Toast.LENGTH_SHORT).show();                 }             }         });          alertDialog.show();     } } 

在这个示例中,当用户点击取消按钮时,会触发 setOnCancelListener 中的 onCancel() 方法。在该方法中,我们可以获取用户输入的数据(如果有的话),并根据需要执行相应的操作。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!