Android活动的生命周期是什么?为什么这么多的发音相似的方法(onCreate(),onStart(),onResume()初始化过程调用),和许多其他人(onPause(),onStop(),onDestroy())呼吁在结束了吗?
这些方法何时被调用,它们应该如何正确使用?
什么是之间的差异onCreate(),onCreateView()以及onActivityCreated()将它们各自用于片段和什么?
android oncreate android-lifecycle android-fragments fragment-lifecycle
我是Android开发的新手.
我想创建并开始一项活动来显示有关游戏的信息.我展示了我需要一个gameId的信息.
如何将此游戏ID传递给活动?游戏ID是绝对必要的,所以我不想创建或启动活动,如果它没有ID.
这就像活动只有一个带有一个参数的构造函数.
我怎样才能做到这一点?
谢谢.
我想知道 - 和方法有什么区别?onCreate()onStart()
我认为这onStart()是一种多余的方法.onCreate()总是会被召唤(至少在我的最后两个项目中).
任何人都可以解释这个区别吗?
我放了几个断点onCreate(一个在开头,一个在方法结束时),我也在一个开头放了一个断点onCreateOptionsMenu.onCreate首先调用该方法,并在onCreateOptionsMenu调用之前调用该方法.
我正试图Fragment在我的应用程序中分离导航代码,所以我onCreateOptionsMenu根据应用程序是否在手机/平板电脑上运行来分配给我的几个对象(我使用屏幕大小来确定这个,我的布局文件是大屏幕有一个View I在布局膨胀后检查).我遇到的问题是,我在onCreate中创建了这些对象,当我引用该对象时,我得到一个空指针异常onCreateOptionsMenu.
谁能帮我了解Bundle savedInstanceState的onCreate(Bundle savedInstanceState),我在Android中的新手.我尝试从developer.android.com了解它.但我无法理解.任何人都可以简化吗?
通常当我创建Android服务时,我实现了该onCreate方法,但在我的上一个项目中,这不起作用.我尝试实现onStartCommand,这似乎工作.
问题是:当我必须实现一个需要哪种方法的服务时?我必须实施哪些方法?onCreate,onStartCommand或两者兼而有之?每个人的角色是什么?
我知道Android Activities有特定的生命周期,onCreate应该被覆盖并用于初始化,但是构造函数究竟发生了什么?是否有任何情况可以/应该覆盖Activity构造函数,或者你是否应该触摸它?
我假设永远不应该使用构造函数,因为引用不会被Activities完全清理(从而妨碍垃圾收集器),那onDestroy就是为此目的.它是否正确?
我创建了一个Android应用程序项目,并在MainActivity.java> onCreate()中调用它super.onCreate(savedInstanceState).
作为初学者,任何人都可以解释上述行的目的是什么?
我想从onCreate方法内部完成一个活动.当我打电话时finish(),onDestroy()没有立即调用,代码不断流过finish().onDestroy()直到onCreate()结束括号后才调用.
根据onCreate()developer.android.com/reference上的说明.
您可以在此函数中调用finish(),在这种情况下,将立即调用onDestroy(),而不执行任何其余的活动生命周期(onStart(),onResume(),onPause()等).
我问的原因是:我想检查传递给Bundle的数据onCreate().当然我可以控制传递的内容onCreate,但我仍然认为应该在交付时进行检查.
我的代码包含class A,它启动Activity B.我认为不应该调用最后两个"if of clause子句"标签,因为语句中的finish方法if应该销毁了活动.它与if子句无关,因为第二次finish()调用后的标记行仍然被读取.
我的代码:
A级
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// goToBButton: when pressed sends message to class B.
Button goToBButton = (Button)this.findViewById(R.id.go_to__b_btn);
goToBButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick (View v) {
Log.i(TAG,"A Class: goToBButton, onClick");
Intent i = new Intent(A.this, B.class);
startActivityForResult(i,REQ_TO_B);
} …Run Code Online (Sandbox Code Playgroud)