片段内容未出现在手机上
Posted
技术标签:
【中文标题】片段内容未出现在手机上【英文标题】:Fragment content not appearing on handset 【发布时间】:2015-09-17 20:56:30 【问题描述】:我正试图让我的片段出现在我的手机上,但由于某种原因它不会这样做。但是,当在平板电脑上加载相同的内容时,它会正常显示。有谁知道我的代码有什么问题以及如何解决这个问题?我们将不胜感激所有相关的帮助。
课程链接
FragmentWCLine.java
WCBankActivity.java
FragmentWCBank.java
WCBankViewPagerAdapter.java
布局链接
fragment_wc_line.xml
fragment_wc_bank.xml
【问题讨论】:
在平板上竖屏查看应用时是否一样? @Simas 是的,在我的平板电脑上它工作得很好,但在我的手机上却不行 @Simas 我不认为方向是这里的问题 【参考方案1】:在FragmentWCBank
中,您应该使用子片段管理器。
adapter = new WCBankViewPagerAdapter(getChildFragmentManager(), Numboftabs, getActivity());
【讨论】:
很有趣,但是,太棒了!问题解决了!我从没想过要更改getSupportFragmentManager()
,因为老实说,我认为必须使用“支持”这个词来支持棒棒糖之前的设备,非常感谢,并且发现错误做得很好:-D
你永远不想在Fragment
中使用Activity
片段管理器。 getSupportFragmentManager()
仅在 Activity
级别需要。当您在另一个 Fragment
中添加 Fragment
时,它称为嵌套,您必须改用 getChildFragmentManager()
。【参考方案2】:
请确保您没有为android手机设计横向模式的布局,那么问题来了如何在平板电脑中进行管理。
将此布尔资源作为 bools.xml 或其他任何内容放在 res/values 中(文件名在这里无关紧要):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="portrait_only">true</bool>
</resources>
把这个放在res/values-sw600dp和res/values-xlarge中:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="portrait_only">false</bool>
</resources>
然后在 java 端检查任一条件,如
if(getResources().getBoolean(R.bool.portrait_only))
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
【讨论】:
我还没有专门为这两种模式设计布局【参考方案3】:能否请您包含 XML 文件,这个问题是由于屏幕分辨率,所以您必须为不同的屏幕创建单独的 XML 文件,以调整屏幕兼容性。
【讨论】:
以上是关于片段内容未出现在手机上的主要内容,如果未能解决你的问题,请参考以下文章