簡體   English   中英

啟動器活動覆蓋活動布局中的自定義對話框

[英]Custom dialog in launcher activity overwriting activity layout

我的啟動器活動中有一個對話框,需要一些用戶輸入,要顯示該對話框,我在onCreate()中有此代碼...

 final Dialog dialog = new Dialog(this);
 dialog.setContentView(R.layout.dialog);
 DialogBinding dialogBinding = DataBindingUtil.setContentView(this, R.layout.dialog);
 popupBinding.dialogButton.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View view) {
           dialog.dismiss();
       }
   });
 dialog.show();

對話框按鈕具有一個onClick偵聽器以將其關閉,但是為此,必須將對話框聲明為final。 以前(當此活動不是啟動程序時),我已將對話框聲明為實例變量,但這現在導致錯誤。

private Dialog dialog = new Dialog(this); 

但是,在onCreate方法中聲明對話框會使啟動程序活動的布局替換為對話框的布局,從而使對話框出現在其自身的副本上方。

帶對話框的啟動器活動

我不確定為什么要這樣做,但是我想知道是否有辦法防止這種情況發生。 謝謝!

這會意外地將對話框布局設置為您的活動的內容視圖。

DialogBinding dialogBinding = DataBindingUtil.setContentView(this, R.layout.dialog);

因此,您正在將活動與對話框混在一起。

對於您的活動,這應該類似於

MyActivityBinding activityBinding = DataBindingUtil.setContentView(this, R.layout.my_activity);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM