@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.main);
}
现在我有一个展示viewpager的活动,它包含三个片段。一切运转正常。在碎片中检测旋转
public class FRG_map_web extends Fragment {
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Log.i("myLogs", "Rotation");
}
问题是片段没有使用setContentView(r.layout.main);这是代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.frg.myFragment, null);
我试着用:
LayoutInflater inflater = inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.frg.myFragment, null);
...
LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.frg.myFragment, null);
...
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
view = inflater.inflate(R.layout.frg.myFragment, null);
...
LayoutInflater li = LayoutInflater.from(context);
如果我理解正确的话,你不想让碎片在每次旋转时重新加载。相反,您希望转发视图并使用已有的信息更新它们。
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Get a layout inflater (inflater from getActivity() or getSupportActivity() works as well)
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View newView = inflater.inflate(R.layout.frg.myFragment, null);
// This just inflates the view but doesn't add it to any thing.
// You need to add it to the root view of the fragment
ViewGroup rootView = (ViewGroup) getView();
// Remove all the existing views from the root view.
// This is also a good place to recycle any resources you won't need anymore
rootView.removeAllViews();
rootView.addView(newView);
// Viola, you have the new view setup
}
根据文档(getView()),getView()返回与从onCreateView()返回的视图相同的视图,但它没有返回。它实际上返回您在onCreateView()中返回的视图的父视图,这正是您所需要的。getView()将返回NoSaveStateFrameLayout的一个实例,该实例专门用于片断,作为其根视图。
希望这能有所帮助。
片段中的、和有什么不同,它们各自用于什么?
请检查我在MovieFragmentBase中使用的viewPagerAdapter的代码。
本文向大家介绍上传图片js判断图片尺寸和格式兼容IE,包括了上传图片js判断图片尺寸和格式兼容IE的使用技巧和注意事项,需要的朋友参考一下 js代码: css代码(这个是必须写的,如果不写,ie下不起作用) html代码:
问题 假如你有一个HTML片断 (比如. 一个div 包含一对p 标签; 一个不完整的HTML文档) 想对它进行解析。这个HTML片断可以是用户提交的一条评论或在一个CMS页面中编辑body部分。 办法 使用Jsoup.parseBodyFragment(String html)方法. String html = "<div><p>Lorem ipsum.</p>"; Document doc =
我是android编程的新手。虽然我在Access上搜索了这个问题,但没有找到任何令人满意的解决方案: 问题是:我想动态地将一个图像设置为imageview--它位于一个片段中。 我想使用图像的文件名来完成这个操作。 但我得到了NullPointerException: java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void android.widge
我想要一个选项卡布局,其中,在每个选项卡上有两个片段,一个在上面显示任务的进度,通过在3个选项卡中提供从开始到结束的输入来完成,和另一个在进度片段下面的主片段将接受输入。 我试了两天所有的方法:( 我的解决方案我尝试了一个包含两个framelayout的布局,用于将主片段添加到ViewPager的两个选项卡中,如下所示: 在活动开始时,我执行此操作,请参见在主片段中用于加载不同标签位置的详细片段的