我在與一個錯誤,我不能谷歌/解決戰鬥的工作。 我們的應用程序已阻止橫向模式(它永遠不會改變方向),但在測試時,我看到它在不同的旋轉(但仍然在縱向模式)時崩潰。 代碼總是在肖像模式下正常工作。 我們有一個有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。我不改變方向。我試圖從橫向開始運行它(並且它崩潰),並在打開活動之前從縱向模式改變方向(並且它也崩潰了)。
我只能找到解決空指針問題上改變方向等等
確保在onAttach in fragment後發生這種情況。如果它發生之前或者該片段沒有附加到活動,則將失敗 –