Java onCreateView与onActivityCreated中的设置视图
我真的很好奇在片段中设置视图的最佳实践是什么。这就是自从我开始为android开发以来我一直在做的事情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
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
是基于意见的。我想问的是,建议使用哪种方式在中设置视图。:)两者都设置视图,但顺序不同。文档中建议使用后者设置状态-->请参见此处