【发布时间】:2018-08-16 01:37:25
【问题描述】:
当我注释掉setAdapter 行时,程序不会崩溃。
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Spinner mySpinner = getActivity().findViewById(R.id.mySpinner);
ArrayAdapter adapter = ArrayAdapter.createFromResource(this.getActivity(), R.array.spinnerArray, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mySpinner.setAdapter(adapter);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.input_personal_data_fragment, container, false);
return view;
}
我尝试使用 new ArrayAdapter 而不是 createFromResource 但这也不起作用。而且我已经把所有东西都放在了OnCreateView 方法中,所以这无济于事。我知道我遗漏了一些东西,我在MainActivity 中尝试过,效果很好。
【问题讨论】:
-
你能发布你完整的片段代码吗?您缺少
View rootView = inflater.inflate(R.layout.fragment_my, parentViewGroup, false);return rootView;并且您将代码放在视图之间。 -
我已经添加了它,并把它放在那里,它仍然与 setAdapter 崩溃
-
你能分享错误logcat吗
-
java.lang.NullPointerException:尝试在 aninterface.bondsj.com.srbuilder 的空对象引用上调用虚拟方法“void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)”。 InputPersonalDataFragment.onCreateView(InputPersonalDataFragment.java:43) 在 android.support.v4.app.Fragment.performCreateView(Fragment.java:2346) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1428) 在 android .support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1759) 我能适应的一切
-
你能用xml发布你完整的片段代码吗
标签: android android-fragments fragment spinner