gpt4 book ai didi

java - 我可以动态修改对话框的布局吗?

转载 作者:行者123 更新时间:2023-12-01 13:45:59 24 4
gpt4 key购买 nike

我正在尝试摆脱这段代码中的 NPE:

Dialog  mutuallyDialog = new Dialog(getActivity());
mutuallyDialog.requestWindowFeature(android.view.Window.FEATURE_NO_TITLE);

RelativeLayout container = (RelativeLayout) getActivity().findViewById(R.layout.new_couple);
container.findViewById(R.id.popup_av2).setBackground(someDrawable); // NPE, drawable returned form elsewhere

mutuallyDialog.setContentView(container);
mutuallyDialog.show();

R.layout.new_ Couple 只是一个简单的布局 xml,其中包含一些文本和 ImageView popup_av1 和 popup_av2。

我想要实现的是能够在显示对话框之前更改这两个 ImageViews src,但由于某种原因,上面的代码不起作用。这种做法正确吗?

最佳答案

对于如下布局,您不会通过 Id 调用查找 View :

RelativeLayout container = (RelativeLayout)getActivity().findViewById(R.layout.new_couple);

相反,您可以将其设置为内容 View ,例如:

mutuallyDialog.setContentView(R.layout.new_couple);

现在您可以在mutualDialog上通过ID调用find view来查找布局中的 View 并更改它们:

mutuallyDialog.findViewById(R.id.popup_av2).setBackground(someDrawable);

将代码更改为以下内容:

Dialog  mutuallyDialog = new Dialog(getActivity());
mutuallyDialog.requestWindowFeature(android.view.Window.FEATURE_NO_TITLE);
mutuallyDialog.setContentView(R.layout.new_couple);
mutuallyDialog.findViewById(R.id.popup_av2).setBackground(someDrawable);


mutuallyDialog.show();

如果有帮助请告诉我

关于java - 我可以动态修改对话框的布局吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20376289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com