Android-活动onCreate和片段onCreate

希波格里夫

我还是Android编程的新手,所以这个问题很基本。我在Internet上看到很多代码示例,其中通过诸如ActivityTextViewonCreate()方法初始化和访问UI组件

当我使用Android Studio创建一个新项目--FirstApp使用默认设置时,一个空白的Activity称为MainActivity带它activity_mainfragment_main,我可以立即将其编译成APK,将其部署到我的设备上,然后得到一个带有标题“ FirstApp”和左上角的TextView,显示“ Hello world!”。

如果给我TextView一个ID textview1,并创建一个成员变量,TextView myTextView;那么我可以onCreate()在Activity方法中引用它,就像这样(当然,没有编译器错误):

    @Override
    protected void onCreate (Bundle savedInstanceState)
    {
        super.onCreate (savedInstanceState);
        setContentView (R.layout.activity_main);
        myTextView = (TextView) findViewById (R.id.textview1);
        myTextView.setText ("Hello tablet!");

        if (savedInstanceState == null)
        {
            getSupportFragmentManager().beginTransaction().add (R.id.container,new PlaceholderFragment()).commit();
        }
    }

但是,如果我编译并运行APK,则会导致“不幸的是,FirstApp已停止。” 信息。

我之前通过将访问UI组件的启动代码移到onStart()Activity方法中来解决了这个问题,如下所示:

    @Override
    protected void onStart()
    {
        super.onStart();
        myTextView = (TextView) findViewById (R.id.textview1);
        myTextView.setText ("Hello tablet!");
    }

这将导致运行中的APK带有一个TextView(在左上角显示“ Hello tablet!”)。-我的简单问题有两个...

  1. 如果项目使用Fragments,那么我是否应该完全期望UI组件无法通过onCreate()Activity方法访问,就像我在Internet上看到的许多示例代码一样,可能是因为尚未创建?
  2. 它是可以接受的,我是中访问UI组件onStart()的活动(其中的方法工作) -或者我应该做别的东西吗?以前我也使用过onCreateViewFragment方法,但是实际上是在onCreate()我尚未尝试过的Fragment方法中访问Fragment中的UI组件的最佳位置吗?

我还注意到,onCreate()默认的Fragment Android Studio在创建新项目时为您创建的方法没有提供存根...但是onCreateView确实存在,并且生命周期文档暗示(无论如何,对我而言)这可能是最好的做这样的事情的地方。

任何对此的指导表示赞赏。

Chipopo

fragment transaction commit命令仅将事务置于Que中-将来将在某个时间处理该事务。这就是为什么您不能直接在创建时使用它的原因。

我建议您使用片段来封装其Ui行为-我不会从活动中明确更改片段的Ui元素。

片段内的OnCreateView是初始化片段Ui元素的好地方,因为在创建片段视图时会调用它。

从一开始就使用片段是非常棘手和痛苦的工作,但是根据我的经验,它们确实有助于创建更加模块化的代码。

我建议您在与文档一起开始认真的项目之前,先阅读有关文档中的片段的更多信息。http://developer.android.com/guide/components/fragments.html

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android onResume和onCreate

来自分类Dev

Android中onCreate片段中的setRetainInstance(true)

来自分类Dev

Android 4.2+ Activity.OnCreate 片段

来自分类Dev

活动的onCreate中的Android启动服务问题

来自分类Dev

Android Studio活动-使用onCreate(),onResume()等

来自分类Dev

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

来自分类Dev

在Android中初始化OnCreate()外部的片段

来自分类Dev

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

来自分类Dev

需要帮助了解onCreate过程中添加Android片段

来自分类Dev

添加了Android活动,但从未触发过onCreate()

来自分类Dev

如何在活动android中的onCreate方法中分配视图

来自分类Dev

Android onCreate在第二次活动中被调用

来自分类Dev

Android意向,片段和活动

来自分类Dev

Android意向,片段和活动

来自分类Dev

Android onCreate死锁

来自分类Dev

android oncreate如何工作?

来自分类Dev

Android应用黑屏(onCreate())

来自分类Dev

Android的onCreate中的NullPointerException

来自分类Dev

Android onCreate extras

来自分类Dev

Android活动和片段,最佳做法

来自分类Dev

Android使用哪个片段(和活动)

来自分类Dev

正确使用android活动和片段

来自分类Dev

每次按下后退按钮时,android片段重新加载(onCreate)

来自分类Dev

何时在片段中使用onActivitycreate()和onCreate()

来自分类Dev

如何使用Android SDK在onCreate语句中动态更改活动的背景颜色?

来自分类Dev

android.app.SuperNotCalledException:活动未调用到super.onCreate()

来自分类Dev

Firebase动态链接打开应用程序,但未调用“监听”活动的onCreate(Android)

来自分类Dev

Android底部导航活动在onCreate中给出了空指针异常

来自分类Dev

android.app.SuperNotCalledException:活动未调用到super.onCreate()

Related 相关文章

  1. 1

    Android onResume和onCreate

  2. 2

    Android中onCreate片段中的setRetainInstance(true)

  3. 3

    Android 4.2+ Activity.OnCreate 片段

  4. 4

    活动的onCreate中的Android启动服务问题

  5. 5

    Android Studio活动-使用onCreate(),onResume()等

  6. 6

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

  7. 7

    在Android中初始化OnCreate()外部的片段

  8. 8

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

  9. 9

    需要帮助了解onCreate过程中添加Android片段

  10. 10

    添加了Android活动,但从未触发过onCreate()

  11. 11

    如何在活动android中的onCreate方法中分配视图

  12. 12

    Android onCreate在第二次活动中被调用

  13. 13

    Android意向,片段和活动

  14. 14

    Android意向,片段和活动

  15. 15

    Android onCreate死锁

  16. 16

    android oncreate如何工作?

  17. 17

    Android应用黑屏(onCreate())

  18. 18

    Android的onCreate中的NullPointerException

  19. 19

    Android onCreate extras

  20. 20

    Android活动和片段,最佳做法

  21. 21

    Android使用哪个片段(和活动)

  22. 22

    正确使用android活动和片段

  23. 23

    每次按下后退按钮时,android片段重新加载(onCreate)

  24. 24

    何时在片段中使用onActivitycreate()和onCreate()

  25. 25

    如何使用Android SDK在onCreate语句中动态更改活动的背景颜色?

  26. 26

    android.app.SuperNotCalledException:活动未调用到super.onCreate()

  27. 27

    Firebase动态链接打开应用程序,但未调用“监听”活动的onCreate(Android)

  28. 28

    Android底部导航活动在onCreate中给出了空指针异常

  29. 29

    android.app.SuperNotCalledException:活动未调用到super.onCreate()

热门标签

归档