2013-07-17 25 views
1

我是新來的Android和我正在與我的應用程序Facebook SDK的工作。我想動態顯示好友列表(使用FriendPickerFragment類)。這裏是我點擊按鈕時調用的方法showfriendpicker(),但每當我點擊該按鈕時,應用程序就會停止。我沒有得到什麼錯誤。顯示FriendPickerFragment從Facebook的sdk沒有改變活動

private void showfriendpicker() 
    { 
     FragmentManager manager = getSupportFragmentManager(); 
     Fragment fragmentToShow = null; 
     Bundle args = getIntent().getExtras(); 
     friendPickerFragment = new FriendPickerFragment(args); 
      // friendPickerFragment = (FriendPickerFragment) 
     manager.findFragmentById(R.id.picker_fragment); 

    Fragment fragment = manager.findFragmentById(R.id.picker_fragment); 
       if (fragment == null) { 

        FragmentTransaction ft = manager.beginTransaction(); 
        ft.add(R.id.picker_fragment, friendPickerFragment); 
        Fragment fragment1 = manager.findFragmentById(R.id.picker_fragment); 
        ft.show(fragment1); 
        ft.commit(); 
        friendPickerFragment.loadData(false); 
        } 

    } 

這裏是在friendPickerFragment.loadData(false);呼叫

我添加了一個幀佈局到我activity_main.xml(ID = picker_fragment)所述的logcat

  07-17 08:06:34.394: E/AndroidRuntime(828): java.lang.NullPointerException 
      07-17 08:06:34.394: E/AndroidRuntime(828): at      
      com.facebook.widget.PickerFragment.loadData(PickerFragment.java:475) 
      07-17 08:06:34.394: E/AndroidRuntime(828): at   
     com.example.fblogin1.MainActivity.showfriendpicker(MainActivity.java:221) 
     07-17 08:06:34.394: E/AndroidRuntime(828): at    
      com.example.fblogin1.MainActivity.access$2(MainActivity.java:199) 
      07-17 08:06:34.394: E/AndroidRuntime(828): at  
     com.example.fblogin1.MainActivity$3.onClick(MainActivity.java:63) 
     07-17 08:06:34.394: E/AndroidRuntime(828): at  
     android.view.View.performClick(View.java:4202) 
     07-17 08:06:34.394: E/AndroidRuntime(828): at 
     android.view.View$PerformClick.run(View.java:17340) 
     07-17 08:06:34.394: E/AndroidRuntime(828): at    
     android.os.Handler.handleCallback(Handler.java:725) 
     07-17 08:06:34.394: E/AndroidRuntime(828): at  
     android.os.Handler.dispatchMessage(Handler.java:92) 
      07-17 08:06:34.394: E/AndroidRuntime(828): at  
        android.os.Looper.loop(Looper.java:137) 
      07-17 08:06:34.394: E/AndroidRuntime(828): at   
     android.app.ActivityThread.main(ActivityThread.java:5039) 
     07-17 08:06:34.394: E/AndroidRuntime(828): at 
      java.lang.reflect.Method.invokeNative(Native Method) 
      07-17 08:06:34.394: E/AndroidRuntime(828): at 
     java.lang.reflect.Method.invoke(Method.java:511) 
     07-17 08:06:34.394: E/AndroidRuntime(828): at 
     com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
     07-17 08:06:34.394: E/AndroidRuntime(828): at  
     com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
     07-17 08:06:34.394: E/AndroidRuntime(828): at 
     dalvik.system.NativeStart.main(Native Method) 
     07-17 08:06:37.816: I/Process(828): Sending signal. PID: 828 SIG: 9 

它顯示錯誤。 任何形式的幫助表示讚賞。

回答

1

明白了! FriendPickerFragment的實例需要2初始化

friendPickerFragment=(FriendPickerFragment) manager.findFragmentById(R.id.picker_fragment);