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