Этот вопрос является странным, поэтому, пожалуйста, старайтесь нести со мной.Spinner adapter Null Pointer Exception
Я вручную портировал Android-проект из Android Studio 1.3.2 в Eclipse Mars 4.5.0.
После этого (казалось бы, успешного) порта, я столкнулся со следующей проблемой: Мои пользовательские адаптеры-счетчики перестали работать.
Это кусок кода, где происходит сбой в адаптере пользовательских вращателя:
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
if (convertView == null) {
convertView = View.inflate(getContext(), R.layout.spinner_dropdown_item, null);
}
TextView label = (TextView) convertView.findViewById(R.id.spinner_text);
label.setText(getItem(position).getName());
return label;
}
При запуске отладчика, ни один человек не откажет заявление. Проверка метки переменная, текст установлен, все в порядке и денди. Однако, когда функция заканчивается, я получаю эту трассировку стека:
09-07 15:14:57.888: E/AndroidRuntime(5650): FATAL EXCEPTION: main
09-07 15:14:57.888: E/AndroidRuntime(5650): Process: com.example.objectives, PID: 5650
09-07 15:14:57.888: E/AndroidRuntime(5650): java.lang.NullPointerException
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.widget.TextView.checkForRelayout(TextView.java:8014)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.widget.TextView.setText(TextView.java:4864)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.widget.TextView.setText(TextView.java:4717)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.widget.TextView.setText(TextView.java:4692)
09-07 15:14:57.888: E/AndroidRuntime(5650): at com.example.objectives.adapters.StageSpinnerAdapter.getDropDownView(StageSpinnerAdapter.java:44)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.support.v7.widget.AppCompatSpinner$DropDownAdapter.getDropDownView(AppCompatSpinner.java:624)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.support.v7.widget.AppCompatSpinner$DropDownAdapter.getView(AppCompatSpinner.java:620)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.support.v7.internal.widget.ListViewCompat.measureHeightOfChildrenCompat(ListViewCompat.java:290)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.support.v7.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1200)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.support.v7.widget.ListPopupWindow.show(ListPopupWindow.java:584)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.support.v7.widget.AppCompatSpinner$DropdownPopup.show(AppCompatSpinner.java:766)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.support.v7.widget.AppCompatSpinner.performClick(AppCompatSpinner.java:424)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.view.View$PerformClick.run(View.java:19422)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.os.Handler.handleCallback(Handler.java:733)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.os.Handler.dispatchMessage(Handler.java:95)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.os.Looper.loop(Looper.java:136)
09-07 15:14:57.888: E/AndroidRuntime(5650): at android.app.ActivityThread.main(ActivityThread.java:5479)
09-07 15:14:57.888: E/AndroidRuntime(5650): at java.lang.reflect.Method.invokeNative(Native Method)
09-07 15:14:57.888: E/AndroidRuntime(5650): at java.lang.reflect.Method.invoke(Method.java:515)
09-07 15:14:57.888: E/AndroidRuntime(5650): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
09-07 15:14:57.888: E/AndroidRuntime(5650): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
09-07 15:14:57.888: E/AndroidRuntime(5650): at dalvik.system.NativeStart.main(Native Method)
Ok так актуальная проблема заключается в следующем: Эта ошибка появляется только в Затмении, а не Android Studio.
Другие детали, которые могут считаться полезными: MinSdk: 15, targetSdk: 23, maxSdk: 23;
Я отправлю любые и все другие детали, которые могут потребоваться.
Большое спасибо.
Edit: Line 44:
label.setText(getItem(position).getName());
Вам не нужно возвращать представление вместо метки? –
Что такое линия 44? Вы пытались вернуть convertView вместо метки? –
Почему вы возвращаете метку вместо convertView? – Pavan