[英]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.