Java Android自定义碎片对话框错误

Java Android自定义碎片对话框错误,java,android,android-dialogfragment,Java,Android,Android Dialogfragment,我试图用一个微调器和两个EditText在Android中创建一个自定义的DialogFragment,但打开对话框时出现了一个错误。 这是嵌入到活动中的DialogFragment类: public static class DialogListaPeces extends DialogFragment { private NuevaCaptura actividad; private Spinner spinner; @Override

我试图用一个微调器和两个EditText在Android中创建一个自定义的DialogFragment,但打开对话框时出现了一个错误。 这是嵌入到活动中的DialogFragment类:

public static class DialogListaPeces extends DialogFragment {

        private NuevaCaptura actividad;
        private Spinner spinner;

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            actividad = (NuevaCaptura) getActivity();

            LayoutInflater inflater = actividad.getLayoutInflater();
            AlertDialog.Builder builder = new AlertDialog.Builder(actividad);
            builder.setView(inflater.inflate(R.layout.dialog_new_specimen, null));

            SQLiteDatabase database = actividad.db.getReadableDatabase();
            Cursor c = database.rawQuery("SELECT _id, nombre FROM Peces", null);
            spinner = (Spinner) actividad.findViewById(R.id.spPeces_new_specimen);
            spinner.setAdapter(new SimpleCursorAdapter(actividad, android.R.layout.simple_spinner_dropdown_item, c, new String[] { "nombre" }, new int[] { android.R.id.text1 }, SimpleCursorAdapter.NO_SELECTION));

            c.close();
            database.close();

            builder.setPositiveButton(R.string.aceptar, new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    int pez = (int) spinner.getSelectedItemId();
                    float longitud = Float.parseFloat(((EditText) actividad.findViewById(R.id.etLongitud_new_specimen)).getText().toString());
                    float peso = Float.parseFloat(((EditText) actividad.findViewById(R.id.etPeso_new_specimen)).getText().toString());
                    actividad.ejemplares.add(new Ejemplar(new Pez(pez), longitud, peso));
                    actividad.llenarListaEjemplares();
                }
            });

            builder.setNegativeButton(R.string.cancelar, new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    DialogListaPeces.this.getDialog().cancel();
                }
            });

            return builder.create();
        }
    }
我得到的错误是:

06-23 13:30:52.659: E/AndroidRuntime(26186): FATAL EXCEPTION: main
06-23 13:30:52.659: E/AndroidRuntime(26186): java.lang.NullPointerException
06-23 13:30:52.659: E/AndroidRuntime(26186):    at com.ssoomm.pesca.NuevaCaptura$DialogListaPeces.onCreateDialog(NuevaCaptura.java:596)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at android.support.v4.app.DialogFragment.getLayoutInflater(DialogFragment.java:253)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:870)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1080)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:622)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:420)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at android.os.Handler.handleCallback(Handler.java:605)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at android.os.Handler.dispatchMessage(Handler.java:92)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at android.os.Looper.loop(Looper.java:137)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at android.app.ActivityThread.main(ActivityThread.java:4476)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at java.lang.reflect.Method.invokeNative(Native Method)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at java.lang.reflect.Method.invoke(Method.java:511)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:816)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:583)
06-23 13:30:52.659: E/AndroidRuntime(26186):    at dalvik.system.NativeStart.main(Native Method)

检查第596行的
NuevaCaptura.java
。这就是发生
NullPointerException
的地方。在那里检查您的veriables并确保它们不是
null


如果您需要这方面的帮助,您应该告诉as粘贴代码中的那一行。

这一行是我调用微调器的setAdapter方法的地方,此时不应为null;)