Java Android:如何获取对话框对象显示在活动中
我对android中的对话框有一个问题。 我有一个activity对象,我想知道activity上显示了什么对话框。 我的问题是,当应用程序出现警告消息时,我想显示一个snackbar。 我需要在活动中展示snackbar。但从活动中,当我获取内容视图并传递到SnackBar(SnackBar.make(contentView,“text”,duration)时,它会在对话框下方显示SnackBar。我知道我们应该从对话框中获取视图,从对话框视图中显示SnackBar 请帮我拿这个箱子 问候,,Java Android:如何获取对话框对象显示在活动中,java,android,dialog,Java,Android,Dialog,我对android中的对话框有一个问题。 我有一个activity对象,我想知道activity上显示了什么对话框。 我的问题是,当应用程序出现警告消息时,我想显示一个snackbar。 我需要在活动中展示snackbar。但从活动中,当我获取内容视图并传递到SnackBar(SnackBar.make(contentView,“text”,duration)时,它会在对话框下方显示SnackBar。我知道我们应该从对话框中获取视图,从对话框视图中显示SnackBar 请帮我拿这个箱子 问候,,
Duc Trinh在全局声明对话框并已初始化之后,尝试查看以下内容:
if(dialog != null || dialog.isShowing()){
// Dialog is being shown or not null
}
您必须将对话框的视图传递给SnackBar
AlertDialog.Builder mAlertDialogBuilder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
// inflate the custom dialog view
final View mDialogView = inflater.inflate(R.layout.dialog_layout, null);
// set the View for the AlertDialog
mAlertDialogBuilder.setView(mDialogView);
Button btn = (Button) mDialogView.findViewById(R.id.dialog_btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Pass the mDialogView to the SnackBar
Snackbar
.make(mDialogView, "SnackBar in Dialog", Snackbar.LENGTH_LONG)
.show();
}
});
AlertDialog alertDialog = mAlertDialogBuilder.create();
alertDialog.show();
检查传递给make()方法的参数-
make (View view, CharSequence text, int duration)
视图:从中查找父视图。Snackbar
将查找传递给显示的视图的父视图
需要传递<代码> >对话框> <代码>中的子元素,以便在对话框中显示<代码> Snackbar < /代码>。考虑通过-< /P>
Snackbar.make(mDialogView.findViewById(R.id.child_view), "SnackBar in Dialog", Snackbar.LENGTH_LONG)
.show();
为什么要从对话框中显示SnackBar?