2013-01-31 40 views
1

片段方法時,我有一個通過調用其他片段的fragmentactivity:NullPointerException異常調用從活動

FragmentView1 f = (FragmentView1) this.getSupportFragmentManager() 
       .findFragmentByTag(getFragmentTag(0)); 

和我getFragmentTag()函數是:

private String getFragmentTag(int pos){ 
    return "android:switcher:"+R.id.viewpager+":"+pos; //fragmentpageradapter auto generated tag 
} 

不是問題是每當我調用F .somemethod,我得到一個nullpointerexception。

我試着用

Log.w("HELLO1",""+ f.getTag()); 

它返回NullPointerException異常。

+1

我的猜測是你的'getFragmentTag(0)'沒有返回你所期待的 – BlackHatSamurai

+0

不,它返回正確的標籤。我在我的FragmentView1中調用了'getTag()',在我的fragmentActivity中調用了'getFragmentTag(0)',並且都返回了相同的結果 – user1304

回答

1

findFragmentByTag()返回null,因爲它沒有根據docs找到具有指定標記的片段。確保您在佈局中設置片段的標籤,或者在事務處理時編程設置片段的標籤。

有關詳細信息,請參閱this問題。

+0

我正在使用fragmentpageradapter,它自動生成片段標籤,爲此我使用getFragmentTag檢索該片段的自動生成的標籤 – user1304

相關問題