В настоящее время я создаю spinner со списком шрифтов, как показано ниже.Android Spinner Array Adapter Null Pointer Exception
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_custom_style_dialog, container, false);
mSpinnerFont = (Spinner) getActivity().findViewById(R.id.spinnerFont);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_spinner_item,
new String[] {"System Font", "Helvetica", "Helvetica-Neue", "Impact"});
arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinnerFont.setAdapter(arrayAdapter);
return view;
}
Однако, он выбрасывает исключение нулевого указателя на последней строке. Я не понимаю, как массив имеет нулевое значение. Спасибо за ваши ответы.
Spinner XML Ниже
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.richluick.blocnotes.CustomStyleDialogFragment">
<Spinner
android:id="@+id/spinnerFont"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
возможно mSpinnerFont null! проверить идентификатор «R.id.spinnerFont» это то же самое, что и ваш xml-файл? – Rami
Я разместил XML выше. То же самое для меня –
Проверьте, не является ли ваш mSpinnerFont пустым, отлаживая или записывая его значение на консоль. Если это так, у вас может быть проблема с идентификатором для отслеживания. – NSouth