Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android DialogFragment onResume可以';t访问视图?_Android_Android Fragments_Android Camera - Fatal编程技术网

Android DialogFragment onResume可以';t访问视图?

Android DialogFragment onResume可以';t访问视图?,android,android-fragments,android-camera,Android,Android Fragments,Android Camera,我可能是在错误的地方这样做的,但目前我有一个DialogFragment,它表示一个带有摄像头按钮的对话框(除其他外),我正在使用内置的摄像头应用程序(通过Intent调用),该应用程序返回到DialogFragment的onActivityResult() 这一切都很好,但我的目标是在对话框中找到一个附件线性布局,并将捕获图像的副本附加到它。e、 g.您拍摄了一些照片,它们出现在对话框的“附件”部分 问题似乎是,当触发DialogFragment的onActivityResult()时,我无法

我可能是在错误的地方这样做的,但目前我有一个DialogFragment,它表示一个带有摄像头按钮的对话框(除其他外),我正在使用内置的摄像头应用程序(通过Intent调用),该应用程序返回到DialogFragment的onActivityResult()

这一切都很好,但我的目标是在对话框中找到一个附件线性布局,并将捕获图像的副本附加到它。e、 g.您拍摄了一些照片,它们出现在对话框的“附件”部分

问题似乎是,当触发DialogFragment的onActivityResult()时,我无法获取its视图,它为空:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAMERA_PIC_REQUEST && resultCode == Activity.RESULT_OK) {
               try {
                  LinearLayout attachments = (LinearLayout) getView().findViewById(R.id.landmarkAttachmentView); // <- getView() is null
仅触发onStart和onResume,但this.view为空。从另一个活动/片段返回DialogFragment后,如何获取其视图


谢谢

您需要重写onCreateView(),在那里创建视图并将其返回。然后,它也将在其他方法中可用

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(R.layout.<your_view_layout>, container, false);
}
创建视图时的公共视图(布局、充气机、视图组容器、捆绑包保存状态){ 返回充气机。充气(右布局,容器,假); } 以下是更多文档和示例:

是的,就是这样。最初我实现了onCreateDialog()而不是onCreateView()。由于它返回一个对话框,因此未设置视图。但是,我不得不将所有视图设置代码从onCreateDialog移动到onCreateView,同时将特定于对话框的内容保留在onCreateDialog中(例如标题,实际上没有太多其他内容),感谢您的快速回答!
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(R.layout.<your_view_layout>, container, false);
}