如何在Android运行时添加片段

亚历克斯·伊拉伯(Alex Irabor)

您好,我正在尝试编写一个程序,在设备处于纵向模式时可以显示一个片段,而在横向模式时可以显示另一个片段。我遇到了一些使代码无法正常工作的问题:

我使用了getWidth()和getHeight()来获取纵向和横向模式,但是这些功能在4.3中已被弃用,还可以使用其他什么功能呢?

我使用了replace()函数来显示我想要的片段,但是它被剔除为错误

完整的代码如下。您会发现我使用箭头和注释指出了错误的出处,因此您将确切地知道问题出在我的代码中。请查看我的代码并帮助我修复它。

公共类MainActivity扩展了ActionBarActivity {

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

    //---get the current display info---
    WindowManager wm = getWindowManager();
    Display d = wm.getDefaultDisplay();

    if (d.getWidth() > d.getHeight())//<----------these two functions get struck out as //an error
    {
    //---landscape mode---
        Fragment1 fragment1 = new Fragment1();
        // android.R.id.content refers to the content
        // view of the activity
        fragmentTransaction.replace( //<------this replace() function is seen as an //error
                android.R.id.content, fragment1);
        }
    else
    {
    //---portrait mode---
    Fragment2 fragment2 = new Fragment2();
    fragmentTransaction.replace(//<------this replace() function is also seen as an //error
            android.R.id.content, fragment2);

    }
    fragmentTransaction.commit();
**/

}
N8s臭虫

尝试在onCreate中使用这种模式。它更加干净,而且它使用适当的getSupportFragmentManager()代替了继承的受限对象getFragmentManager()

    int currentOrientation = getResources().getConfiguration().orientation;
    if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE)
        {

            Fragment1 placeholder = new Fragment1();
            placeholder.setArguments(getIntent().getExtras());
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.fragment_container, placeholder).commit();
        } else
        {
            Fragment2 placeholder = new Fragment2();
            placeholder.setArguments(getIntent().getExtras());
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.fragment_container, placeholder).commit();
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Android运行时添加片段

来自分类Dev

如何在运行时在Typescript中添加属性

来自分类Dev

如何在运行时添加和显示JLabel?

来自分类Dev

如何在运行时在Swing中添加JLabel?

来自分类Dev

如何在IOS中的运行时添加静态tableviewcell

来自分类Dev

如何在运行时添加代码

来自分类Dev

如何在python的集合中添加()运行时输入?

来自分类Dev

如何在Android的运行时请求权限?

来自分类Dev

如何在应用运行时锁定Android屏幕?

来自分类Dev

如何在Android中保存运行时创建的位图?

来自分类Dev

在运行时将片段添加到TabLayout

来自分类Dev

如何在运行时加载的jsp中包含html片段?

来自分类Dev

如何在运行时加载的jsp中包含html片段?

来自分类Dev

如何删除运行时添加的按钮?

来自分类Dev

片段的onCreate()方法中的Android应用运行时错误

来自分类Dev

片段的onCreate()方法出现Android应用运行时错误

来自分类Dev

片段无法在 android 中的运行时更改

来自分类Dev

Android运行时权限-如何实现

来自分类Dev

如何在Android或iOS移动设备上运行Node.js运行时

来自分类Dev

如何在运行时以编程方式添加xjc插件?

来自分类Dev

如何在运行时在spring-SAML中添加新的idp元数据

来自分类Dev

如何在运行时从Glade定义中添加Gtk :: Notebook选项卡?

来自分类Dev

Laravel:如何在运行时为语言添加单词

来自分类Dev

如何在运行时以Windows窗体添加链接标签

来自分类Dev

如何在Windows Phone运行时中向剪贴板添加文本?

来自分类Dev

如何在运行时将动画控制器添加到角色?

来自分类Dev

如何在运行时为Obj-C添加类方法?

来自分类Dev

如何在UITableViewCell运行时之上添加自定义UIView?

来自分类Dev

如何在运行时添加log4net追加程序?

Related 相关文章

  1. 1

    如何在Android运行时添加片段

  2. 2

    如何在运行时在Typescript中添加属性

  3. 3

    如何在运行时添加和显示JLabel?

  4. 4

    如何在运行时在Swing中添加JLabel?

  5. 5

    如何在IOS中的运行时添加静态tableviewcell

  6. 6

    如何在运行时添加代码

  7. 7

    如何在python的集合中添加()运行时输入?

  8. 8

    如何在Android的运行时请求权限?

  9. 9

    如何在应用运行时锁定Android屏幕?

  10. 10

    如何在Android中保存运行时创建的位图?

  11. 11

    在运行时将片段添加到TabLayout

  12. 12

    如何在运行时加载的jsp中包含html片段?

  13. 13

    如何在运行时加载的jsp中包含html片段?

  14. 14

    如何删除运行时添加的按钮?

  15. 15

    片段的onCreate()方法中的Android应用运行时错误

  16. 16

    片段的onCreate()方法出现Android应用运行时错误

  17. 17

    片段无法在 android 中的运行时更改

  18. 18

    Android运行时权限-如何实现

  19. 19

    如何在Android或iOS移动设备上运行Node.js运行时

  20. 20

    如何在运行时以编程方式添加xjc插件?

  21. 21

    如何在运行时在spring-SAML中添加新的idp元数据

  22. 22

    如何在运行时从Glade定义中添加Gtk :: Notebook选项卡?

  23. 23

    Laravel:如何在运行时为语言添加单词

  24. 24

    如何在运行时以Windows窗体添加链接标签

  25. 25

    如何在Windows Phone运行时中向剪贴板添加文本?

  26. 26

    如何在运行时将动画控制器添加到角色?

  27. 27

    如何在运行时为Obj-C添加类方法?

  28. 28

    如何在UITableViewCell运行时之上添加自定义UIView?

  29. 29

    如何在运行时添加log4net追加程序?

热门标签

归档