I get a NullPointerException in creating a layout on Android 5.0, Android 4 works fine. There is a Spinner in there with an extended ArrayAdapter.
EDIT It only occurs if I try to set a selection with setSelection.
Below is my stack trace:
12-17 09:35:40.195: E/AndroidRuntime(25564): FATAL EXCEPTION: main
12-17 09:35:40.195: E/AndroidRuntime(25564): Process: nl.minerall.sapphire.pocket, PID: 25564
12-17 09:35:40.195: E/AndroidRuntime(25564): java.lang.NullPointerException: Attempt to read from field 'int android.view.ViewGroup$LayoutParams.height' on a null object reference
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.TextView.makeNewLayout(TextView.java:6573)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.TextView.onMeasure(TextView.java:6851)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.View.measure(View.java:17496)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.Spinner.setUpChild(Spinner.java:669)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.Spinner.makeView(Spinner.java:632)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.Spinner.getBaseline(Spinner.java:458)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1122)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.TableRow.onMeasure(TableRow.java:114)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.View.measure(View.java:17496)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1438)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.TableLayout.measureChildBeforeLayout(TableLayout.java:464)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:724)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.TableLayout.measureVertical(TableLayout.java:476)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.TableLayout.onMeasure(TableLayout.java:439)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.View.measure(View.java:17496)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.View.measure(View.java:17496)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:447)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.View.measure(View.java:17496)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2636)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.View.measure(View.java:17496)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2089)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1251)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1458)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1136)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5933)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.Choreographer.doCallbacks(Choreographer.java:580)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.Choreographer.doFrame(Choreographer.java:550)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.os.Handler.handleCallback(Handler.java:739)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.os.Handler.dispatchMessage(Handler.java:95)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.os.Looper.loop(Looper.java:135)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at android.app.ActivityThread.main(ActivityThread.java:5297)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at java.lang.reflect.Method.invoke(Native Method)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at java.lang.reflect.Method.invoke(Method.java:372)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
12-17 09:35:40.195: E/AndroidRuntime(25564):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
This is the XML-excerpt where the spinner is defined:
<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="5dp"
    android:paddingRight="5dp" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:gravity="right"
        android:text="@string/method"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@color/Blue" />
    <Spinner
        android:id="@+id/spMethod"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" />
</TableRow>
This is my adapter:
public class PMethodAdapter extends ArrayAdapter<PMethod> {
    static ArrayList<PMethod> methods = null;
    private LayoutInflater mInflater;
    public PMethodAdapter(Context ctx) {
        super(ctx, 0);
        mInflater = LayoutInflater.from(ctx);
        if (methods == null) {
            methods = new ArrayList<PMethod>();
            methods.add(new PMethod(PMethod.METHOD_ONE, "one");
            methods.add(new PMethod(PMethod.METHOD_TWO, "two");
            methods.add(new PMethod(PMethod.METHOD_THREE, "three");
        }
    }
    @Override
    public int getCount() {
        return methods.size();
    }
    @Override
    public PMethod getItem(int position) {
        return methods.get(position);
    }
    @Override
    public long getItemId(int position) {
        return position;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            convertView = mInflater.inflate(android.R.layout.simple_spinner_item, null);
        }
        TextView tvLabel = (TextView)convertView.findViewById(android.R.id.text1);
        PMethod pm = methods.get(position);
        tvLabel.setText(pm.getLabel());
        return convertView;
    }
    public int getItemIdByMethod(int methodid) {
        // return an ID from the method ID
        int i = -1;
        for (i = 0; i < methods.size(); i++) {
            PMethod pm = methods.get(i); 
            if (pm.getMethod() == methodid) {
                break; 
            }
        }
        return i;
    }   
}
the METHOD_* constants are just integers.
Also, when I call setSelection in onResume the same error occurs, when I call it after the complete layout has been rendered, it does work.
