检测正确的视图

时间:2014-08-26 13:48:36

标签: android

我需要一些帮助,在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!

任何想法? 非常感谢。

1 个答案:

答案 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
            }
        });
    }

}