微调器适配器空指针异常

时间:2015-09-07 12:24:12

标签: java android eclipse android-studio android-spinner

这个问题很奇怪,所以请耐心等待。

我已经手动将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)

好的实际问题是这样的: 此错误在Eclipse中出现,而不是Android Studio。

我认为其他细节可能有用: MinSdk:15,targetSdk:23,maxSdk:23;

我将发布可能需要的任何和所有其他细节。

非常感谢。

编辑: 第44行是:

label.setText(getItem(position).getName());

0 个答案:

没有答案