2014-06-28 46 views
0

嘗試使用SlidingPaneLayout時,我在片段的onCreateView()內部收到空指針異常。嘗試在片段中使用SlidingPaneLayout時出現nullpointerexpection(onCreateView)

mSlidingLayout.setPanelSlideListener(new SliderListener());

如果我刪除使用此SlidingPaneLayout,並且只顯示片段中的東西的Textview它工作正常。

下面是onCreateView代碼和LogCat錯誤輸出。

public class FragmentwithSlidingPane extends Fragment { 

ListView lv_addblockparameters; 

private SlidingPaneLayout mSlidingLayout; 
private ListView mList; 

private ActionBarHelper mActionBar; 

//Constructor 
public FragmentwithSlidingPane() {} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

    View rootView = inflater.inflate(R.layout.fragment_testlayout, container, false); 

    /* 
    * Following code from: 
    * http://androidtrainningcenter.blogspot.com/2013/06/slidingpanelayout-android-making.html 
    */ 

    mSlidingLayout = (SlidingPaneLayout) rootView.findViewById(R.id.sliding_pane_layout); 
    mList = (ListView) rootView.findViewById(R.id.left_pane); 

      /******************************** 
      * LINE BELOW IS WHERE I GET NULLPOINTEREXCEPTION 
      * This line is FragmentwithSlidingPane.java:71 stated in error trace below 
      *********************************/ 
    mSlidingLayout.setPanelSlideListener(new SliderListener()); 
    mSlidingLayout.openPane(); 

    //Populating the Listview 
    String List[] = new String[5]; 
    List[0] = "Apps >>"; 
    List[1] ="URLs >>"; 
    List[2] ="Notifications >>"; 
    List[3] ="Texts >>"; 
    List[4] ="Calls >>"; 

    mList.setAdapter(new ArrayAdapter<String>(getActivity(), 
    android.R.layout.simple_list_item_1, List)); 
    mList.setOnItemClickListener(new ListItemClickListener()); 

    return rootView; 
} 

}

/** 
* This panel slide listener updates the action bar accordingly for each 
* panel state. 
*/ 
private class SliderListener extends 
     SlidingPaneLayout.SimplePanelSlideListener { 
    @Override 
    public void onPanelOpened(View panel) { 
     mActionBar.onPanelOpened(); 
    } 

    @Override 
    public void onPanelClosed(View panel) { 
     mActionBar.onPanelClosed(); 
    } 
} 

下面是我的logcat錯誤輸出。

06-28 23:45:31.322: E/AndroidRuntime(4294): FATAL EXCEPTION: main 
06-28 23:45:31.322: E/AndroidRuntime(4294): Process: com.mavdev.focusoutfacebook, PID: 4294 
06-28 23:45:31.322: E/AndroidRuntime(4294): java.lang.NullPointerException 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at com.mavdev.focusoutfacebook.fragments.FragmentwithSlidingPane.onCreateView(FragmentwithSlidingPane.java:71) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:938) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1115) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1478) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:446) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at android.os.Handler.handleCallback(Handler.java:733) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at android.os.Handler.dispatchMessage(Handler.java:95) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at android.os.Looper.loop(Looper.java:136) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at android.app.ActivityThread.main(ActivityThread.java:5017) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at java.lang.reflect.Method.invoke(Method.java:515) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
06-28 23:45:31.322: E/AndroidRuntime(4294):  at dalvik.system.NativeStart.main(Native Method) 
+0

NullPointerException異常通常是指對象是不是真的存在。請仔細檢查您的fragment_testlayout.xml文件是否確實在其中有id =「@ + id/sliding_pane_layout」的SlidingPaneLayout? –

+1

我認爲你選擇錯誤的XML文件我的意思是這樣的:fragment_testlayout –

+0

我通常做這樣的事情:D –

回答

0

我覺得你選錯了XML文件我的意思是這樣的:fragment_testlayout

相關問題