我需要一些帮助,在event_filter.xml中定义我声明的Views。 它是AbstractDetailListFragment的子项,并实现DatePicker和Spinner项。 但我不知道如何在AbstractDetailFragment中访问它们。 通过定义
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View theView = super.onCreateView(inflater, container, savedInstanceState);
ImageButton searchEnterButton = (ImageButton)getNavigationFragment().getNavigationBar().getRightButton();
View view = getView();
final DatePicker datePicker = (DatePicker) container.findViewById(R.id.datePickerEvent);
Spinner inSpinner = (Spinner) container.findViewById(R.id.category_list);
spinner = inSpinner;
downloadCategories();
变量视图,datePicker,inSpinner始终为null!
任何想法? 非常感谢。
答案 0 :(得分:0)
这是关于碎片的事情。我好几天都在寻找相同的错误,直到我读了一些片段(我很懒,我建议你不要跟随我的脚步)。我解决它的方法是重写onViewCreated和"捕捉"在那里观看:
public class MyFragment extends Fragment {
View rootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.my_fragment, container,
false);
return rootView;
}
//and you use rootView to call findViewById
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Button myButton = (Button) rootView.findViewById(R.id.mybutton);
sendFeedback.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do something
}
});
}
}