我试图找到一种以编程方式关闭Android Time Picker的解决方法,因为它不支持隐藏功能,并且只有当用户点击CancelOk或窗口小部件外部的某个位置时才能关闭它。是否可以通过文本找到按钮Cancel并以编程方式单击它?

最佳答案

您无需按文本查找“取消”按钮。如果使用的是DatePickerDialog或TimePickerDialog,则这些类将扩展AlertDialog类,因此您可以像这样简单地使用dialog.getButton函数:

 DatePickerDialog dialog = new DatePickerDialog(this,
                new DatePickerDialog.OnDateSetListener() {

                    @Override
                    public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {

                    }
                });

        Button cancelButton = dialog.getButton(DialogInterface.BUTTON_NEUTRAL);
        cancelButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // do whatever you want here
            }
        });

        // displays the DatePickerDialog
        dialog.show();

10-08 18:20