当AlertDialog中的自定义布局中的按钮无法工作时,可能是因为没有正确地设置按钮的点击事件监听器。以下是一个解决该问题的示例代码:
// 创建AlertDialog.Builder对象
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// 加载自定义布局
LayoutInflater inflater = getLayoutInflater();
View dialogView = inflater.inflate(R.layout.custom_dialog_layout, null);
builder.setView(dialogView);
// 获取自定义布局中的按钮并设置点击事件监听器
Button dialogButton = dialogView.findViewById(R.id.dialog_button);
dialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 在按钮点击事件中执行相应的操作
// ...
}
});
// 创建并显示AlertDialog
AlertDialog alertDialog = builder.create();
alertDialog.show();
在上述代码中,我们通过AlertDialog.Builder的setView()方法将自定义布局加载到AlertDialog中。然后,通过findViewById()方法获取自定义布局中的按钮,并使用setOnClickListener()方法为按钮设置点击事件监听器。在点击事件监听器中,可以执行相应的操作。
这样,当AlertDialog显示时,自定义布局中的按钮就能够正常工作了。