2017-02-23 70 views
-1

我在與一個錯誤,我不能谷歌/解決戰鬥的工作。 我們的應用程序已阻止橫向模式(它永遠不會改變方向),但在測試時,我看到它在不同的旋轉(但仍然在縱向模式)時崩潰。 代碼總是在肖像模式下正常工作。 我們有一個有ViewPager的活動(帶有3個片段)。嘗試獲取getActivity時,應用程序崩潰(因爲它的空指針)。代碼工作在縱向模式,而不是在橫向模式(這是被阻止)(getActivity()空指針)

在活動我是從片段打開方法來填充在runOnUiThread方法一些單選按鈕信息:

@Override 
public void onGetPlayerSuccess(HandballPlayerTO player) { 
    handballPlayer = player; 

    if (handballPlayer.gethandballDictionaryFacts() == null) { 
     handballPlayer.sethandballDictionaryFacts(new ArrayList<HandballDictionaryFactTO>()); 
    } 

    setRefreshing(false); 
    injuriesAdapter.setInjuries(player.getHandballInjuryTOS()); 
    injuriesAdapter.notifyDataSetChanged(); 

    setListAppendixViews(); 

    runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      demographicFragment.fillFields(); 
      careerFragment.fillFields(); 
      lifestyleFragment.fillFields(); 
     } 
    }); 
} 

內部fillField()

我使用下面的方法:

HandballPlayerTO player = ((PlayerActivity) getActivity()).getPlayerTO(); 

崩潰的應用程序,而我只是通過參數發送玩家沒有正確的信息。

我完全困惑,因爲我從來沒有聽說過在橫向模式/縱向模式下運行代碼的差異。

兩者都具有相同的代碼,相同的XML。我不改變方向。我試圖從橫向開始運行它(並且它崩潰),並在打開活動之前從縱向模式改變方向(並且它也崩潰了)。

我只能找到解決空指針問題上改變方向等等

+0

確保在onAttach in fragment後發生這種情況。如果它發生之前或者該片段沒有附加到活動,則將失敗 –

回答

0

解決問題,這幫助: Lock screen orientation (Android)

我改變了清單文件,添加screenOrientation到肖像模式。 以前我們在開始新活動時使用了標誌。

相關問題