Android 碎片:背压时重新加载
我正在应用程序中使用由Android 碎片:背压时重新加载,android,android-fragments,android-activity,Android,Android Fragments,Android Activity,我正在应用程序中使用由AppCompatActivity扩展的片段和活动 工作: 我有两个片段“仪表板”和“订单”。在从仪表板片段中单击“订单按钮”之后,我正在替换片段,在按下“后退”按钮之后,我将返回到“仪表板片段” 问题 我已经在Dashboard片段的onCreateView()上调用了一个API。当我从Order Fragment返回时,我来到“Dashboard Fragment”,它调用API。我不想回忆起API,如果我是通过反压来查看片段的 提前谢谢 用订单片段替换仪表板片段的代码
AppCompatActivity
扩展的片段和活动
工作:
我有两个片段“仪表板”和“订单”。在从仪表板片段中单击“订单按钮”之后,我正在替换片段,在按下“后退”按钮之后,我将返回到“仪表板片段”
问题
我已经在Dashboard片段的onCreateView()
上调用了一个API。当我从Order Fragment返回时,我来到“Dashboard Fragment”,它调用API。我不想回忆起API,如果我是通过反压来查看片段的
提前谢谢
用订单片段替换仪表板片段的代码
// Click event of Order
@OnClick(R.id.ll_order)
void openOrder() {
if (isOrderNotClicked) {
OrderFragment fragment = new OrderFragment();
this.getFragmentManager().beginTransaction().replace(R.id.flContent, fragment, "Order").addToBackStack(null).commit();
isOrderNotClicked = !isOrderNotClicked;
}
}
我也有同样的问题,所以我用“视图”来解决
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (view == null) {
//inflate layout and codes
}
return view;
}` but i dont know it is the best solution
您是否尝试将setRetainInstance设置为true?我没有尝试过,但我不认为这会起作用,因为正在重新创建片段,而不是父活动。不起作用。API未被调用。只显示静态布局。这是因为每次我在您的案例(Dashboard)java.lang.IndexOutOfBoundsException中实例化此片段时添加此片段时,它都使用if视图已膨胀。检测到不一致性。无效的项目位置,这是一个很好的尝试,但不能正常工作