Alert Dialog
をNumber Picker
で開こうとすると奇妙な問題が発生します。 ImagesActivityがButtonClickListener
が置かれたクラスで、Nullポインタ例外の警告ダイアログが表示されます(Android 6.0のみ)
private class ButtonClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(ImagesActivity.this);
AlertDialog dialog;
final NumberPicker np = new NumberPicker(ImagesActivity.this);
np.setMinValue(1);
np.setMaxValue(dataModel.getPagesNumber());
np.setValue(currentPage);
builder.setView(np);
builder.setTitle(R.string.jump_title);
builder.setPositiveButton(R.string.jump_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
pager.setCurrentItem(np.getValue() - 1);
dialog.dismiss();
}
});
builder.setNegativeButton(R.string.jump_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
dialog = builder.create();
dialog.show();
}
}
:私はそれにbutton
listener
とセットキーを押した後、それを呼び出す必要があります。これはViewPager
を表示し、NumberPicker
を使用して選択したページにスクロールする必要があります。
それは私の古い携帯電話で正常に動作しますが、私はAndroid
6上でそれを起動しようとすると、私はそのメッセージエラー取得:
のjava.lang.NullPointerException:仮想メソッド を起動しようと「アンドロイドを。view.View android.view.View.FindViewById(int) 'nullの場合 オブジェクト参照 at com.android.internal.app.AlertController.setupView(AlertController.java:489) at com.android.internal.app .AlertController.installContent(AlertController.java:234) android.app.AlertDialog.onCreate(Al (Dialog.java:394) android.app.DialogFragment.onStart(DialogFragment。)は、android.app.DialogFragment.onStartにあります。 (FragmentManager.java:2244) (android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1002)) (android.app.FragmentManagerImpl.moveToState(FragmentManager.java:490) )は、 1148) android.app.FragmentManagerImpl $ 1.runでandroid.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)でandroid.app.BackStackRecord.run(BackStackRecord.java:793) で (FragmentManager.java:482 )android.os.Handler.handleCallback(Handler.java:739) android.os.Handler.dispatchMessage(Handler.java:95)の android.os.Looper.loop(Looper.java:148) android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(ネイティブメソッド) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:616)
何が原因で起こり得るのですか?そして、どうすれば修正できますか?
私はsetupView()コードを持っていません。それはAndroidライブラリ – michalsol