使用builder.create().getView()提示找不到getView
时间: 2024-03-10 22:46:26 浏览: 134
非常抱歉,我的回答有误。`builder.create()`方法返回的是一个`AlertDialog`对象,而不是`View`对象。如果需要获取对话框的`View`对象,可以先通过`builder.create()`方法创建一个对话框,再调用对话框的`getWindow().getDecorView()`方法获取其根视图。以下是修正后的代码示例:
```
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// 创建对话框布局
View dialogView = inflater.inflate(R.layout.dialog_layout, null);
// 创建AlertDialog.Builder并设置布局
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(dialogView);
// 获取布局中的控件
TextView titleTextView = dialogView.findViewById(R.id.title_text_view);
TextView contentTextView = dialogView.findViewById(R.id.content_text_view);
RadioButton radioButton1 = dialogView.findViewById(R.id.radio_button_1);
RadioButton radioButton2 = dialogView.findViewById(R.id.radio_button_2);
RadioButton radioButton3 = dialogView.findViewById(R.id.radio_button_3);
RadioButton radioButton4 = dialogView.findViewById(R.id.radio_button_4);
// 设置TextView水平居中
titleTextView.setGravity(Gravity.CENTER_HORIZONTAL);
contentTextView.setGravity(Gravity.CENTER_HORIZONTAL);
// 给四个RadioButton添加点击事件
radioButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO: 点击事件处理
}
});
radioButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO: 点击事件处理
}
});
radioButton3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO: 点击事件处理
}
});
radioButton4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO: 点击事件处理
}
});
// 设置取消和确定按钮并返回Dialog的View
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO: 取消按钮点击事件处理
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO: 确定按钮点击事件处理
}
});
// 创建对话框并返回其根视图
AlertDialog dialog = builder.create();
dialog.show(); // 显示对话框
return dialog.getWindow().getDecorView();
}
```
希望这次回答能够帮到你。
阅读全文