2017-02-23 71 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到肖像模式。 以前我们在开始新活动时使用了标志。

相关问题