问题标签 [oncreate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8757 浏览

android - 如何使用 Android 缓存视图并避免每次都调用 onCreate

我有一个让我很烦的问题。

对于 Android,我有一个应用程序,它似乎在onCreate每次创建活动的新实例时都在调用,因为这个活动是另一个活动的儿子,它在结束其对一条数据的角色时完成自己。

每次的调用onCreate似乎都是重新解析 XML 以创建视图并将侦听器重新附加/重新创建到代码等等。那么有没有一种方法可以缓存每次调用的活动,如果我们点击移动设备中的后退按钮而不会看到它?这就像将它真正隐藏起来(无法通过后退按钮访问)并且仅在必要时才销毁。

提前谢谢大家:)

0 投票
1 回答
902 浏览

android - fire an intent from the onCreate method in android

Maybe my question might seem a bit weird, but I have an activity in which, in one case , I have to move to another activity before it finishes loading the screen. My condition is in the onCreate method, which means when I encounter it, i get a "startActivity called from outside an activity context" error and the app just crashes...
But then, is there an easy way like a flag for the intent to make it work without having the activity context resolved? thanks for any answer

0 投票
1 回答
9466 浏览

android - 你能解释一下 onCreate 和 Bundles 吗?

我一直在查找它,但我似乎无法将自己包裹在 onCreate 和 Bundles 周围。我知道 onCreate 在程序启动时被调用,但它是如何传递 Bundles 以及它们是如何相关的。任何人都可以尝试把它变成简单的英语,因为我似乎找不到很好的描述。

谢谢

0 投票
1 回答
253 浏览

dialog - 初始化主窗口 win32 时,何时显示模态对话框的最佳时间?

我试图在 Win32 中实现这一点,但我确信同样的规则也适用于 WinForms 的世界。

问:我创建了我的主窗口,然后,当它显示时,我想显示一个模式对话框。问题是; 我怎么知道主窗口何时完全初始化并可见?也就是说,究竟什么时候是显示对话框的最佳时间?

思路:
1) 处理WM_CREATE和作为最后一步PostMessage(WM_USER_MESSAGE)。处理WM_USER_MESSAGE并显示模态对话框!
2) 处理WM_CREATE并设置一个约 300 毫秒的计时器。处理WM_TIMER,杀死计时器并显示模态对话框!
3) 处理WM_ACTIVATE,如果是第一次激活PostMessage(WM_USER_MESSAGE)。处理WM_USER_MESSAGE并显示模态对话框!
4) 处理WM_SHOWWINDOW,如果第一次显示显示模态对话框!

上述方法有效,但结果并不总是那么好。有没有更好的方法?也许以某种方式处理WM_ENTERIDLE或消息?WM_KICKIDLE

0 投票
4 回答
9679 浏览

java - ArrayAdapter.setAdapter上的android新手问题空指针

我一直在放慢学习和构建我的第一个 Android 应用程序的速度。我对 Java 非常陌生,但已经在 C#、VB.NET(过去)、Objective-C(商店中有 6 个应用程序)和 Fortran(过去 waaaaaaaaaaaaaaaaaaaay ;)

所以我刚从海外收到一个 htc legend(我不在美国),我买它是为了有一个体面的中级设备进行开发(它运行的是非 root 的 adnroid 2.1)

我一直在开发的应用程序是目标级别 4(android 1.6)。它使用带有 .mp3 扩展名的 5 Mb sqlite3 数据库,以避免在 apk 中进行压缩以及从资产正确复制到系统文件夹。

在模拟器上一切正常,在设备上我看到复制数据库后应用程序的文件大小与我在模拟器上看到的完全匹配。

现在,在我使用列表视图和微调器的主要活动中,我通过两个数组适配器绑定了一些数据。在设备上运行时一切顺利。但是当试图在设备上运行这部分代码时:

两个名称.setAdapter(adapterShapes);
& types.setAdapter(adapterTypes);

给我一个空指针异常。

我在mac下使用eclipse,LogCat窗口抛出:

06-25 18:41:37.842:错误/AndroidRuntime(9523):未捕获的处理程序:线程主因未捕获的异常而退出

06-25 18:41:37.891: 错误/AndroidRuntime(9523): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com.davidhomes.steel/com.davidhomes.steel.mainAct}: java.lang.NullPointerException

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2596)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在

android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2621)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在 android.app.ActivityThread.access$2200(ActivityThread.java:126)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1932)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在 android.os.Handler.dispatchMessage(Handler.java:99)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在 android.os.Looper.loop(Looper.java:123)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在 android.app.ActivityThread.main(ActivityThread.java:4595)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在 java.lang.reflect.Method.invokeNative(Native Method)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在 java.lang.reflect.Method.invoke(Method.java:521)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

06-25 18:41:37.891:错误/AndroidRuntime(9523):在 dalvik.system.NativeStart.main(本机方法)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 由: java.lang.NullPointerException 引起


-------------------------------------------------- ------------ 06-25 18:41:37.891: 错误/AndroidRuntime(9523): at com.davidhomes.steel.mainAct.onCreate(mainAct.java:183)

-------------------------------------------------- ------------

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2544)

06-25 18:41:37.891: 错误/AndroidRuntime(9523): ... 11 更多

06-25 18:46:38.252: 错误/ActivityManager(99): 设置顶部应用更改失败!

第 183 行是第一个 setAdapter 调用 (designations.setAdapter(adapterShapes);),当我将其注释掉时,第二个 setAdapter 是一个破坏代码

我在这里有点迷茫,当从模拟器和设备运行时,适配器会在日志窗口中显示正确数量的项目。

我承认自己是 java 和 android 的菜鸟,所以非常感谢任何帮助。

问候
大卫

0 投票
1 回答
3897 浏览

android - 进度对话框 onCreate

在“onCreate”中,我正在从网络下载数据。下载数据的持续时间为 10 秒。下载数据时我不想有 ProgressDialog。这是我的代码,但 ProgressDialog 没有出现:

0 投票
2 回答
3148 浏览

android - Android Parent and Child Activity onCreate 问题

我有一个父活动和一个扩展父活动的子活动。当父母启动子活动时,

哪个 onCreate 首先执行?孩子的还是父母的?

我在 Child 活动的 onCreate 方法中设置了一个特定变量,现在,看起来需要一段时间才能到达 Child 活动的 onCreate,因此 Parent 中的方法报告一个空变量。而当我让父级睡眠一段时间时,它会报告正确的变量。

谢谢克里斯

家长活动:

儿童活动:

所以,基本上,即使在父启动子之后,它仍然返回“父值”,但是当我让线程休眠时,它返回“子值”。

0 投票
4 回答
52782 浏览

java - Android - Activity 构造函数与 onCreate

我知道 AndroidActivities有特定的生命周期,onCreate应该被覆盖并用于初始化,但是在构造函数中到底发生了什么?是否有任何情况下您可以/应该重写Activity构造函数,或者您永远不应该触摸它?

我假设永远不应该使用构造函数,因为Activities没有完全清除对的引用(因此妨碍了垃圾收集器),而这onDestroy就是为此目的。这个对吗?

0 投票
1 回答
2081 浏览

android - 在 onCreate() 之后更改视图属性

第一次发帖,Android 新手,我似乎在这个问题上遇到了障碍:

我正在创建一个动态布局,由几个相同的“复合”对象组成(这些基本上是“浮动”线性布局,每个都包含一个图标(ImageView)和一个标题(TextView))。每个 LinearLayout 的 (x,y) 坐标可能会根据用户操作发生变化,并且需要精确放置(即:不能使用 RelativeLayout 等),因此我将它们定位在 AbsoluteLayout 内。

在 onCreate() 期间,我将这些对象中的每一个添加为 AbsoluteLayout 对象内的子视图,然后手动设置 (x,y)。到目前为止没有问题,效果很好,初始布局很完美。

问题:

在最初的 onCreate() 之后,我无法让这些对象的 (x,y) 位置在屏幕上发生变化。我可以更新他们的 layoutParams,但屏幕上的布局(在 AbsoluteLayout 内)永远不会刷新。我已经尝试过 forceLayout()、invalidate()、requestLayout(),它们都不起作用。

我的基本方法是否有问题,或者我只是缺少什么?

我正在考虑更改为 SurfaceView 并以艰难的方式进行渲染,但是我的代码现在可以运行 99%,如果不需要,我不想更改它。唯一的问题是布局管理器只是拒绝为我的子对象注册位置更改。

求助,我做错了什么?

0 投票
7 回答
5061 浏览

android - 接到电话后应用程序崩溃

在我接到电话或拨打电话后(以及其他未记录的中断),我的应用程序在恢复我的活动时会收到 NullPointerException。任何人都可以向我解释它在哪里和/或如何解决它?当我的活动恢复时,它似乎在调用 onCreate,并且它试图在恢复后执行一些为空的东西。如何防止 onCreate() 被调用?

当我按下呼叫按钮时,我的活动似乎终止了,因为当我尝试调试此错误时,调试器会断开连接。

编辑:

那么,我该如何处理进程被杀死 -> onCreate() ?我有活动A -> B -> C -> D,一路往回按到A,没有问题。但是如果我启动另一个程序,或者另一个程序进入前台,D 崩溃,然后 C 崩溃,然后 B 崩溃,然后 A 崩溃!

编辑:

我解决了 B、C、D 崩溃问题。这是因为我存储静态变量的类被销毁以释放资源,而我的活动正在获取空变量。

但是当我回到 A 时,我得到了一个 classCastException:

这是我的 onCreate():

这就是我认为问题所在: