2017-04-05 60 views
0

我有一个关于android中的对话框的问题。 我有一个活动对象,我想知道活动上显示的是什么对话框。 我的问题是我想在应用程序发出警告消息时显示快餐栏。 而且我需要在活动中展示小吃店。但是从活动中,当我获得内容视图并传递给SnackBar(SnackBar.make(contentView,“text”,duration)时,它会在对话框下面显示Snackbar,我知道我们应该从对话框中看到从对话框视图显示SnackbarAndroid:我如何获得对话框对象在活动中显示

请帮我对于这种情况

问候, 德郑氏

+0

为什么要显示对话框中的SnackBar? –

回答

-1

对话框全局声明,并且已经被初始化后,尝试寻找这样的:

if(dialog != null || dialog.isShowing()){ 
    // Dialog is being shown or not null 
} 
-1

你必须通过对话框的视图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(); 
0

退房传递,使PARAMS()方法 -

make (View view, CharSequence text, int duration) 

观点:为了找到父母。Snackbar将查找通过显示的父视图。

你需要传递的dialogView子元素,以显示在对话框Snackbar。考虑通过 -

Snackbar.make(mDialogView.findViewById(R.id.child_view), "SnackBar in Dialog", Snackbar.LENGTH_LONG) 
        .show();