Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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
Java onCreateView与onActivityCreated中的设置视图_Java_Android_Android Fragments_Android Activity - Fatal编程技术网

Java onCreateView与onActivityCreated中的设置视图

Java onCreateView与onActivityCreated中的设置视图,java,android,android-fragments,android-activity,Java,Android,Android Fragments,Android Activity,我真的很好奇在片段中设置视图的最佳实践是什么。这就是自从我开始为android开发以来我一直在做的事情 public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.main_fragment, container, f

我真的很好奇在片段中设置视图的最佳实践是什么。这就是自从我开始为android开发以来我一直在做的事情

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.main_fragment, container, false);
    ListView listView = view.findViewById(...);
    listView.setAdapter(...);
    return view;
}
然后,我阅读了有关创建活动的方法
onActivityCreated
,并阅读了我需要在该方法中设置视图,而不是
onCreateView
,因此我自己编写了一些代码来执行同样的操作

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    return inflater.inflate(R.layout.main_fragment, container, false);
}

public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    View view = getView();
    if(view == null){
        throw new NullPointerException("View returned null inside onActivityCreated this shouldn't have happened!");
    }
    ListView listView = view.findViewById(...);
    listView.setAdapter(...);
}

我真的很好奇这里有什么不同?应该使用哪一种?安卓推荐你使用哪一款?

你可以真正使用你想要的任何东西,只要它有效


但是,我认为从技术上讲,这是在视图创建后修改和引用视图的“官方”或推荐方式。

我明白了,我看到一些大型应用程序也在
onCreateView
中设置了它。所以在我接受答案之前,我会等待更多的人来回答。因为在过去的11天里没有人回答,我怀疑很快会有人回答。所以我会接受这个可能的@HarounHajem的复制品,这不是复制品,我不是在问它们之间的区别。我问的是哪一个更好,然后你问的是一个基于意见的问题。我们不怀疑,因此,所有基于意见的问题都会被删除或锁定,例如,“蓝色比红色好吗?”@HarounHajem这并不完全正确,这就像说
String+=String
,而不是在循环中使用
StringBuilder
是基于意见的。我想问的是,建议使用哪种方式在中设置视图。:)两者都设置视图,但顺序不同。文档中建议使用后者设置状态-->请参见此处