我在与一个错误,我不能谷歌/解决战斗的工作。 我们的应用程序已阻止横向模式(它永远不会改变方向),但在测试时,我看到它在不同的旋转(但仍然在纵向模式)时崩溃。 代码总是在肖像模式下正常工作。 我们有一个有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后发生这种情况。如果它发生之前或者该片段没有附加到活动,则将失败 –