方向更改时窗口小部件空指针异常

时间:2014-04-25 12:02:51

标签: android nullpointerexception android-widget android-orientation

我有一个令人讨厌的问题,一个NumberPicker和一个ImageView工作完全正常的肖像和方向更改产生空指针异常(我花了一段时间才弄清楚它只在纵向模式下工作,因为我首先想到的方向改变自我就是问题。)

所以这是代码:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_photo_viewer);

        Intent intent = getIntent();
        Bundle extras = intent.getExtras();

        mTouchImageView = (TouchImageView) findViewById(R.id.photoView);
        mTimePicker = (NumberPicker) findViewById(R.id.timePicker);
        mTimePickerScreen = (ImageView) findViewById(R.id.timePickerScreen);

        mImageButtonCrop = (ImageButton) findViewById(R.id.imageButtonCrop);

        mTimePickerScreen.setVisibility(ImageView.INVISIBLE);
        mTimePicker.setVisibility(NumberPicker.INVISIBLE);
        mTimePicker.setMaxValue(15);
        mTimePicker.setMinValue(1);
        ...

mTimePickerScreen.setVisibility(ImageView.INVISIBLE);会导致错误,如果id将其注释掉,那么下一个会发生错误,依此类推。在分配了一行后,我得出结论,问题只出在nTimePickernTimePickerScreen上。

XML:

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:theme="@style/TimePickerTheme">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/timePickerScreen"
            android:background="@color/black_translucent"/>

        <NumberPicker
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/timePicker"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true" />
    </RelativeLayout>

1 个答案:

答案 0 :(得分:0)

解决方案是将上述XML行添加到res / layout-land中的横向布局XML,现在一切正常。我知道这可能是一个业余的错误,但我搜索了很多解决方案,找不到一个,所以我认为这可能对某人有帮助。