2017-04-05 63 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(); 
相關問題