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