0
我有一个应用程序,它基本上是一个主要活动和查看寻呼机片段的启动程序,我只注意到如果我从我的应用程序启动应用程序,并且我的应用程序被杀死时,上创建片段函数get's先调用我的创建主要活动函数。碎片onCreate在应用程序进程被杀后
这最终会崩溃我的应用程序,因为我得到所有使用主要活动的应用程序的列表,然后每个分页器视图片段将从主列表中获取一个子列表。 该应用运行良好时,第一次执行,因为android首先运行的主要活动的创建,然后在创建的片段
那么我该如何解决这个问题?有没有办法先调用onCreate主要活动函数?还是有更好的办法做到这一点?
的应用程序,让非法参数异常,当我尝试建立短名单,并由于主列表只填充是主要的活动,当我回到我的应用程序的主列表是空让我异常
代码:
`
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.grid, null);
GridView gridview = (GridView) view.findViewById(R.id.gridview);
int starterPosition;
starterPosition = 16 * position;
int enderPosition = starterPosition + 16;
if (enderPosition > appsList.size()) {
enderPosition = appsList.size();
}
ArrayList<App> shorterList = new ArrayList<App>(appsList.subList(
starterPosition, enderPosition));
final AppLauncherAdapter grid = new AppLauncherAdapter(ctx, shorterList);
gridview.setAdapter(grid);
gridview.setSelector(R.color.trans);
return gridview;
}
`
所以我应该在我的主要活动上使用onActivityCreated并调用这个函数处理片段?这将避免片段的onCreate会首先被调用? – Steve
你的'Fragment'可能不应该和Activity相互作用太多,但是如果它的确如此,你应该在'onActivityCreated'之后执行。 –
我恐怕我不理解你看到所有需要处理的代码是onCreateView的函数,我想我不能从那里移动它,所以我怎么能使用onActivityCreated?对不起,因为小白,但我有点不知所措 – Steve