当一个布局,它为Fragment定义并在setContentView()方法中使用并且它与Activity没有关系.
那么为什么我们需要Activity Reference来访问它.
所以我想在Fragment中创建一个ListView.我必须在Activity布局内或Fragment布局内创建它.
嘿Neil,我有一个问题,因为我每次犯错都是因为,我正在表演
TextView txt = ( TextView ) getActivity().findViewById(R.id.txt);
txt.setText("nayak nahi , khalnayak hun mein");
在oncreateView()里面所以它创建了问题,但是当我在里面实现这个时
onActivityCreated(),它正在工作,所以你能告诉我为什么会这样.
最佳答案 您可以在Fragment的布局中定义ListView.在片段中尝试这样的东西来定义替代布局
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
_baseView = inflater.inflate(R.layout.yourlayout, null); //where base view is your upper most parent in your layout
return _baseView;
}
然后在onActivityCreated中,您可以使用_baseView.findViewById(‘yourListView’)来设置ListView.我不知道这是不是最好的做法,但它对我来说非常有效.