-2

Possible Duplicate:
NullpointerException when Launching activity

i get this logcat now !! every time i have this message and force close !! i asked this question before , but i get a new error ! exu !

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{yaAli.package313.hossein110/yaAli.package313.hossein110.know}: java.lang.NullPointerException
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:4627)
    at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:521)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
    at org.apache.harmony.luni.util.FloatingPointParser.parseFloat(FloatingPointParser.java:301)
    at java.lang.Float.parseFloat(Float.java:291)
    at java.lang.Float.valueOf(Float.java:330)
    at yaAli.package313.hossein110.know.onCreate(know.java:67)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    ... 11 more

i get new logcat after applaying your answers :

FATAL EXCEPTION: main
java.lang.NumberFormatException: unable to parse '' as integer
at java.lang.Integer.parseInt(Integer.java:412)
at java.lang.Integer.parseInt(Integer.java:382)
at java.lang.Integer.valueOf(Integer.java:682)
at yaAli.package313.hossein110.know$1.run(know.java:37)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Community
  • 1
  • 1
hkh114
  • 162
  • 1
  • 3
  • 15
  • yaAli.package313.hossein110.know.onCreate(know.java:67) – Samir Mangroliya Oct 05 '12 at 17:12
  • 67 is line that have error ??? – hkh114 Oct 05 '12 at 17:14
  • i asked this but i get new error ? – hkh114 Oct 05 '12 at 17:14
  • Looks like you are trying to parse null value into a float. – Nathan Villaescusa Oct 05 '12 at 17:15
  • old question is : http://stackoverflow.com/questions/12749787/nullpointerexception-when-launching-activity – hkh114 Oct 05 '12 at 17:15
  • my code is in to link : http://stackoverflow.com/questions/12749787/nullpointerexception-when-launching-activity – hkh114 Oct 05 '12 at 17:18
  • 3
    You need to learn how to read a Logcat. In your new LogCat find the line that comes from your code: `at yaAli.package313.hossein110.know$1.run(know.java:37)`. You now know to focus on line 37 in `know.java`. Look back at your LogCat there are multiple line regarding `Integer.parseInt()` and the error involves an empty String... So on line 37 you and trying to turn an empty String into an Integer (you cannot do this). Once you learn how to read your LogCat you won't need to ask for help every time you have a bad line of code. – Sam Oct 05 '12 at 17:37

1 Answers1

4

From your code:

String sizefa = sharedpreferences.getString("fontsizefa",null);
...
tvfa.setTextSize(1, Float.valueOf(sizefa).floatValue());

When your preferences don't contain "fontsizefa" you are setting it to null. The exception is being thrown because later on you try to cast the null string to a float.

Change it to:

String sizefa = sharedpreferences.getString("fontsizefa","0.0");

or whatever you want the default size to be.

You are also going to have the same issue with colorfa when it is not in your preferences.

Nathan Villaescusa
  • 17,331
  • 4
  • 53
  • 56