尝试访问对话框片段视图时遇到问题。 这是我的工作:
对于我的主要活动中的每个按钮,我在单击按钮时创建一个新的dialogFragment:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment newFragment = ResAmountDialog.newInstance(R.string.res_dialog_title);
newFragment.show(getFragmentManager(), "dialog");
ImageView resIcon = (ImageView) newFragment.getView().findViewById(R.id.resourceIcon1);
resIcon.setImageResource(currentResourceImage);
}
});
对话框片段由EditText和ImageView组成。我试图通过获取片段,然后查看其视图然后通过ID查找它来尝试访问上面代码中的imageView,但它返回null。
我试图在互联网上找到解决方案,但所有类似的问题都在片段中访问了他们的视图,我尝试从外部访问它。
答案 0 :(得分:0)
在调用onCreateView()方法之前,不会加载Fragment的视图(请参阅Fragment生命周期:http://developer.android.com/guide/components/fragments.html)。你真的不应该像你想要的那样尝试更新Fragment的视图。在Dialog Fragment的onCreateView()中设置图像。使用setArguments()和getArguments()传递特定的资源ID(参见passing argument to DialogFragment)。