[Eclipse+adt] Salvare un dato da un'edit text
Ciao a tutti,
ho realizzato un'attività che chiama una sotto attività da un menù a tendina.
La sotto attività ha un "edit text" per inserire un dato (vorrei salvare un int sebbene dal codice recupero una CharSequence) e un bottone con scritto salva.
Ho usato SharedPreferences per recuperare dall'edit text il dato e poi salvarlo nel file preferenze, per poi visualizzare tutto su schermo per capire se tutto è andato liscio.
Nel codice non ci sono errori ma non appena avvio la sotto attività questa va in crash.
Ho pensato fosse per la mancanza di questo file xml delle "preferenze" (che poi ho creato) si chiama "mypref" poichè la var. d'istanza ha questo valore memorizzato nel codice. Si trova sotto res/xml però l'applicazione crasha sempre allo stesso punto
Cosa devo fare?? Sto sbagliando qualcosa?? Vi ricordo che visto che ho seguito un tutorial il codice dovrebbe essere corretto!
Grazie a tutti :)
L'errore è questo:
codice:
08-31 14:20:01.869: ERROR/AndroidRuntime(309): FATAL EXCEPTION: main
08-31 14:20:01.869: ERROR/AndroidRuntime(309): java.lang.RuntimeException: Unable to start activity ComponentInfo{mieapplicazioni.menudemo/mieapplicazioni.menudemo.SubActivity}: java.lang.NullPointerException
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at android.os.Handler.dispatchMessage(Handler.java:99)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at android.os.Looper.loop(Looper.java:123)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at android.app.ActivityThread.main(ActivityThread.java:4627)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at java.lang.reflect.Method.invokeNative(Native Method)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at java.lang.reflect.Method.invoke(Method.java:521)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at dalvik.system.NativeStart.main(Native Method)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): Caused by: java.lang.NullPointerException
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at mieapplicazioni.menudemo.SubActivity.onCreate(SubActivity.java:30)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-31 14:20:01.869: ERROR/AndroidRuntime(309): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
Il file mypref.xml l'ho fatto così, non so se è giusto:
codice:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<Preference android:defaultValue="No Preferences!" android:key="textData" ></Preference>
</PreferenceScreen>
La mia intenzione sarebbe quella di modificare questo elemento di chiave textData