我在Activity中运行以下代码时有效,但是在Fragment中运行以下代码时无法正常工作。我需要在Fragment中使用此代码。我是初学者。请帮我。
片段中的代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_filter, container, false);
Spinner categorySpinner = (Spinner) container.findViewById(R.id.category_spinner);
ArrayAdapter<CharSequence> categoryAdapter = ArrayAdapter.createFromResource(getContext(), R.array.cat, R.layout.row_spinner);
categorySpinner.setAdapter(categoryAdapter);
return view;
}
我将
getContext()
更改为getActivity()
或this
或this.getActivity
,但是不起作用。错误(在
categorySpinner.setAdapter(categoryAdapter
中):java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' on a null object reference
最佳答案
Spinner categorySpinner = (Spinner) view.findViewById(R.id.category_spinner);
使用视图代替容器