android在非DialogFragment的Fragment加Dialog实现使用AlertDialog.Builder创建对话框加载Layout布局,添加两个TextView水平居中,以及四个RadioButton,并且给四个RadioButton添加点击事件,Dialog有取消以及确定按钮
时间: 2024-03-10 11:47:10 浏览: 141
好的,我理解了你的问题。下面是一个实现这个功能的示例代码:
```java
public class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my, container, false);
Button showDialogBtn = view.findViewById(R.id.show_dialog_button);
showDialogBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showMyDialog();
}
});
return view;
}
private void showMyDialog() {
LayoutInflater inflater = LayoutInflater.from(getActivity());
View dialogView = inflater.inflate(R.layout.dialog_layout, null);
final RadioButton radioButton1 = dialogView.findViewById(R.id.radio_button1);
final RadioButton radioButton2 = dialogView.findViewById(R.id.radio_button2);
final RadioButton radioButton3 = dialogView.findViewById(R.id.radio_button3);
final RadioButton radioButton4 = dialogView.findViewById(R.id.radio_button4);
radioButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 处理点击事件
}
});
radioButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 处理点击事件
}
});
radioButton3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 处理点击事件
}
});
radioButton4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 处理点击事件
}
});
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("My Dialog")
.setView(dialogView)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 处理确定按钮点击事件
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 处理取消按钮点击事件
}
});
builder.create().show();
}
}
```
需要注意的是,这个代码中的 `R.layout.fragment_my` 是你的 Fragment 的布局文件, `R.layout.dialog_layout` 是对话框的布局文件。你需要根据实际情况修改这些布局文件。
希望能帮到你!
阅读全文