如何保留Fragment状态对于设备的方向改变?

时间:2014-01-29 13:24:56

标签: android android-fragments tabs

我在更改Actionbar Tab片段的方向时遇到错误。我读了关于android中的状态管理的帖子。

我得到了使用onSaveInstanceState(Bundle savedInstanceState)

的解决方案

但在我的情况onTabUnselected事件中,我收到了碎片对象的错误

@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {      
    System.out.println("1::");
    Fragment fragment = adapter.getItem(tab.getPosition());
    System.out.println("2::"+fragment);<--- shows long id
    **line 112 -->if (fragment instanceof InfoFragment) {   <--- error at this line Null** pointer excp     
        ((InfoFragment) fragment).setData();
    }else if (fragment instanceof PortFragment) {           
        ((PortFragment) fragment).setData();                
    }
}
  

image

如何通过致电onSaveInstanceState解决问题?

// Set data to objects
public void setData() {
    List<String> sales = new ArrayList<String>();

    sales.add(0, String.valueOf(customerId));       
    sales.add(1, String.valueOf(prospectId));       
    sales.add(2, String.valueOf(commodityId));
    sales.add(3, txtAESplNt.getText().toString());
    sales.add(4, Constants.Common.AIR_LOB);

    //set data to global class
    mainActivity.setSalesInfoData(sales);
}

0 个答案:

没有答案