我有一个令人讨厌的问题,一个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将其注释掉,那么下一个会发生错误,依此类推。在分配了一行后,我得出结论,问题只出在nTimePicker
和nTimePickerScreen
上。
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>
答案 0 :(得分:0)
解决方案是将上述XML行添加到res / layout-land中的横向布局XML,现在一切正常。我知道这可能是一个业余的错误,但我搜索了很多解决方案,找不到一个,所以我认为这可能对某人有帮助。