2012-01-01 5 views
0

私は多くの異なることを試しましたが、このnullpointerを取り除くことはできません。私は3つのEditTextsにテキストを入力してからSubmitボタンを押しなければならないアプリを持っています。私は、ユーザーがデータを入力せずに単にsubmitを押すと、すべての計算が終了したクラスが呼び出されたときに、トーストを表示してからインテントを使用してメインに戻ることができます。 しかし、文句を言わない仕事、見れることは決してありません場合は...NullPointerの結果であるバンドルからのヌルテキストの確認

はここでたぶんあなたb.getString(...)がない ""、nullを返しコード

 Bundle b = getIntent().getExtras();//the bundle is retrieved from the intent 
    int id = b.getInt("ID");//retreive the ID to know which function to call 
    int nullCounter=0; 
    if (b.getString("vf").trim().equals("")) 
     nullCounter++; 
    else if (!b.getString("vf").trim().equals(""))//checks each possibility that could have been included in the bundle 
    vf = Double.parseDouble(b.getString("vf"));//if the value exists, extract it and convert it to an integer 

    if (b.getString("t").trim().equals("")) 
     nullCounter++; 
    else if (!b.getString("t").trim().equals("")) 
    t = Double.parseDouble(b.getString("t")); 

    if (b.getString("d").trim().equals("")) 
     nullCounter++; 
    else if (!b.getString("d").trim().equals("")) 
    d = Double.parseDouble(b.getString("d")); 

    if (b.getString("a").trim().equals("")) 
     nullCounter++; 
    else if (!b.getString("a").trim().equals("")) 
    a = Double.parseDouble(b.getString("a")); 

    if (b.getString("v1").trim().equals("")) 
     nullCounter++; 
    else if (!b.getString("v1").trim().equals("")) 
    v1 = Double.parseDouble(b.getString("v1")); 

    if(nullCounter >2) 
    { 
     Intent i = new Intent(Results.this,PhysicsCalculatorActivity.class); 
     Results.this.startActivity(i); 
    } 
+0

スタックトレースを送信できますか? – user823255

+0

ハア私はちょうど試しキャッチを追加し、それが動作する、提案のおかげで、私はそれを追加することを忘れたことを実現するのを助けた –

答えて

0

です。

b.getString(...)がnullでないことを確認してから、trim()を呼び出します。

関連する問題