0

奇妙な問題があります。次のコードがあります。

if (fbIntent.hasExtra("Link")) {
            try{
            postData[0]= fbIntent.getStringExtra("Link");
            } catch (Exception e) {Log.d("fbIntent error",e.getMessage() );} 
        }

fbIntent.hasExtra("リンク") は true です。したがって、コンパイラは if ステートメントに入ります。しかし、fbIntent.getStringExtra("Link") を使用して文字列を取得できません。これは、Eclipseでのデバッグから知っています。実行すると、次のようになります。

01-21 14:12:01.030: ERROR/AndroidRuntime(311): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.examples.Kikin/com.examples.Kikin.FacebookLogin}: java.lang.NullPointerException: println needs a message

私を助けてください。

4

2 に答える 2

0

1) あなたの現在の問題は

Log.d("fbIntent error", e.getMessage());

e.getMessage()を返す可能性がnullあるので、 を取得しjava.lang.NullPointerException: println needs a messageます。e.toString()代わりに使用してください。または、最善の方法は次のとおりです。

Log.e("some tag", "some comment", e);

2) これを修正すると、実際のエラーを確認して、根本/実際の問題をさらに修正することができます。そのため、新しいログ データで投稿を更新してください。

于 2011-01-21T21:02:25.387 に答える
0

postData を初期化する必要があります。のようなものを試してくださいString[] postData = new String[1]。明らかに、postData[1]、[2]、および [3] を使用する場合は、new String[4].

于 2011-01-21T20:16:52.283 に答える