我需要为自定义对话框设置正面和负面的按钮。
public void newVisitorDialog(String title, String msg) {
Dialog visitorDialog = new Dialog(FindVisitorMobile.this);
visitorDialog.setCanceledOnTouchOutside(true);
visitorDialog.setContentView(R.layout.new_visitor_dialog);
TextView titleText = visitorDialog.findViewById(R.id.title);
titleText.setText(title);
TextView body = visitorDialog.findViewById(R.id.visitorData);
body.setText(msg);
visitorDialog.show();
}
谢谢
答案 0 :(得分:0)
执行以下操作:
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.dialog_fire_missiles)
.setPositiveButton(R.string.fire, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// FIRE ZE MISSILES!
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
// Create the AlertDialog object and return it
return builder.create();
答案 1 :(得分:0)
对于自定义对话框,您应该在R.layout.new_dialog_visitor
中包括两个按钮。
然后在您的newVisitorDialog
方法中,找到带有.findViewById
的按钮,并在其上调用.setOnClickListener(..)
。
答案 2 :(得分:0)
在Xml布局中添加负号和正号按钮。
找到按钮的视图。
为肯定按钮和否定按钮设置setOnClickListener。
Button negative = (Button) visitorDialog.findViewById(R.id.negative_btn);
Button positive = (Button) visitorDialog.findViewById(R.id.positive_btn);
negative.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//process your code here for negative
}
});
positive.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//process your code here for positive
}
});
答案 3 :(得分:0)
如果是自定义对话框,则可以为其创建另一个布局
这是link
它显示了如何向对话框中添加按钮,文本视图,图像。希望有帮助
答案 4 :(得分:0)
我发现最好的方法是将对话框设置为类中的私有变量。
private Dialog visitorDialog;
public void newVisitorDialog(String title, String msg) {
visitorDialog = new Dialog(FindVisitorMobile.this);
visitorDialog.setCanceledOnTouchOutside(true);
visitorDialog.setContentView(R.layout.new_visitor_dialog);
TextView titleText = visitorDialog.findViewById(R.id.title);
titleText.setText(title);
TextView body = visitorDialog.findViewById(R.id.visitorData);
body.setText(msg);
visitorDialog.show();
}
/**
* Cancel the visitor dialog
* @param view
*/
public void dialogCancel(View view){
visitorDialog.dismiss();
}