我遇到方向更改和保留片段的问题。
在onActivityCreated()
中保留的片段中,我使用getTargetFragment().getView().find...
有时候该方法返回null。我不知道为什么。我使用兼容性库v.4。
答案 0 :(得分:1)
我知道现在已经很晚了,但我偶然发现了这件事,碰巧有一个解决方法。根据我在片段中工作并在它们之间切换的经验,onCreate方法的启动速度有点太快,因此有时布局未完全初始化。在调用onCreate之后,我使用了一个计时器任务来解决这个问题。延迟似乎总是给它足够的时间。我有自己的计时器单例,你需要构建自己的计时器来安排任务,但你明白了。希望这可以帮助。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final QueueFragmentTab thisFrag = this;
TimerHelper.getInstance().scheduleTask(new TimerTask() {
@Override
public void run() {
//getview goes here
Log.w(tag, "" + thisFrag.getView());
}
}, 100);
return inflater.inflate(R.layout.fragment_queue, container, false);
}