2016-04-04 13 views
2

MainActivityの開始後にこのエラーが発生しています。SharedPreferences Facebook

04-04 17:30:37.041 7835-7835/net.example.ricardo.tcc2 E/AndroidRuntime: FATAL EXCEPTION: main 
04-04 17:30:37.041 7835-7835/net.example.ricardo.tcc2 E/AndroidRuntime: Process: net.example.ricardo.tcc2, PID: 7835 
04-04 17:30:37.041 7835-7835/net.example.ricardo.tcc2 E/AndroidRuntime: java.lang.RuntimeException: Unable to resume activity {net.example.ricardo.tcc2/org.example.ricardo.tcc2.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 
04-04 17:30:37.041 7835-7835/net.example.ricardo.tcc2 E/AndroidRuntime:  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4008) 
04-04 17:30:37.041 7835-7835/net.example.ricardo.tcc2 E/AndroidRuntime:  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4039) 

SharedPreferencesを使用してFacebookのIDと名前を保存します。

public void onResume(){ 
     super.onResume(); 
     username = (TextView) findViewById(R.id.username); 
     profileImage = (ProfilePictureView) findViewById(R.id.fotoPerfil); 


     if (nameStr != null && idStr != null) { 
      sessaoIniciada(); 
     } 
    } 

任意の考え:私はこれを持ってonResume

SharedPreferences sharedPrefs = getSharedPreferences("details", MODE_PRIVATE); 

    nameStr = sharedPrefs.getString("name", null); 
    idStr = sharedPrefs.getString("id", null); 

のonCreate私はこれを持っていますか?

+0

私は正しい名前とIDを取得しています。それをtxtviewとprofpictureに設定してください。 –

+1

あなたの 'TextView'はヌルです、あなたが正しいIDを探していることを再度確認してください。 –

+0

その正しいID。 –

答えて

0

文字列の設定から文字列を取得するときは、KEYとデフォルト値が必要です。デフォルト値はnullになるので、空の文字列またはいくつかのランダムな文字列このような

修正するためにそれを設定することはできません。

SharedPreferences sharedPrefs = getSharedPreferences("details", MODE_PRIVATE); 

    nameStr = sharedPrefs.getString("name", "empty"); 
    idStr = sharedPrefs.getString("id", "empty"); 

はそれが役に立てば幸い!

+0

https://uploaddeimagens.com.br/images/000/597/545/full/erro.png?1459885481テキストの設定。それでも同じエラーが発生します。 –

+0

ImageViewでテキストを設定しようとしていますか? –

+0

番号。そのコード上で。文字列名、および文字列ID。 setTextの名前とidはprofileImage.setProfileId(idStr)です。 –