0

DB から文字列を返すメソッドがあります。私の問題は、私が使用しようとしているisEmpty()charAt(0)、nullPointerExceptionを取得したときです。ここに丸太の猫があります:

05-09 15:56:47.002: E/AndroidRuntime(6914): FATAL EXCEPTION: main
05-09 15:56:47.002: E/AndroidRuntime(6914): java.lang.RuntimeException: Unable to instantiate application android.app.Application: java.lang.NullPointerException
05-09 15:56:47.002: E/AndroidRuntime(6914):     at android.app.LoadedApk.makeApplication(LoadedApk.java:504)
05-09 15:56:47.002: E/AndroidRuntime(6914):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4364)
05-09 15:56:47.002: E/AndroidRuntime(6914):     at android.app.ActivityThread.access$1300(ActivityThread.java:141)
05-09 15:56:47.002: E/AndroidRuntime(6914):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1294)

   public boolean setTheCorrectParameterFields(){

            String mine = "";

            String spinnerExercise = workOutChoose.getSelectedItem().toString();
            DataBaseMain fieldsNum = new DataBaseMain(getApplicationContext());
            fieldsNum.open();
            mine = fieldsNum.getParameters(spinnerExercise);
            fieldsNum.close();

            if(mine.isEmpty())
                return false;
            return true;
            }
4

3 に答える 3

1

mineからのnull帰りですfieldsNum.getParameters(spinnerExercise)null他のことをしようとする前に、非値をチェックする必要があります。

于 2013-05-09T16:09:10.743 に答える
0

isEmptyはオブジェクトのメソッドであるためnull、呼び出すことはできません。代わりにこれを試してください:

  boolean empty = mine == null || mine.isEmpty() ? true : false;
于 2013-05-09T16:09:54.920 に答える
0

Commons Lang 3には、 anullに対して安全な空のチェックを実行できるメソッドがあります。String

http://commons.apache.org/proper/commons-lang//apidocs/org/apache/commons/lang3/StringUtils.html#isEmpty(java.lang.CharSequence)

于 2013-05-09T16:14:17.400 に答える