问题标签 [subactivity]

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 投票
2 回答
2652 浏览

android - 仅在子活动中使用 Monkey(android 调试)

我正在尝试使用 Monkey 调试工具(来自 adb)对我的应用程序的一部分进行压力测试。由于 Monkey 以完全随机的方式运行,我希望它专注于可能包含我正在寻找的错误的代码部分(非常罕见的错误,我不知道如何复制它)。

所以,在我的主要活动中,我有 6 个按钮,每个按钮都会启动一个新活动。我想将猴子设置为仅查看其中一项活动,以及可以从中访问的所有活动。我找不到合理的方法来做到这一点。

我已经尝试了
adb shell monkey -p my.package.name -c android.intent.category.MONKEY 1000
and 在我的清单文件中放入了一些我感兴趣的活动:

但它没有用。Monkey 仍然会启动未按此标签分类的活动。Monkey 在选定的子活动中工作至关重要,因为它浪费了大约 95% 的时间在我的应用程序中漫游,而不是我真正想要测试的子活动。

此外,我尝试了一些简单的脚本来启动所需的子活动,但没有成功。

寻求任何帮助,
干杯,
kajman

0 投票
1 回答
443 浏览

android - 导致内存不足的多个子活动

我的应用程序要求用户通过多页输入(注册过程)。随着用户深入注册,我必须保持数据完整,直到用户点击“完成”。这个过程涉及活动调用子活动和那些子活动调用另一个子活动。

流程是这样的:Main -> Sub-Activity (part 1 of signup) -> Sub-Activity (part2) -> Sub-Activity (part 3)。

这里的问题是,我收到来自 logcat 的内存不足警告,并且随着用户深入应用程序,各种进程被杀死。我已经尝试通过不在活动之间传递自定义对象而是将它们存储到 mysqllite 并在需要时检索它们来节省现有内存。还有一点要补充的是,我不是在处理图像,使用的控件只是文本视图、编辑视图和微调器。

我的问题是,当有多个子活动链接时,内存不足问题是否常见?我该如何去做以释放内存?自定义控件是否使用比预设控件更多的内存?(我的预感之一)

*编辑*我找到了内存不足问题的原因。它与子活动无关。罪魁祸首是我正在使用的自定义控件。我改用预设控件进行了测试,应用程序的整体性能得到了显着提高。我不再有低内存警告,现在一切正常。

0 投票
2 回答
440 浏览

android - 在 Android 的视图中打开活动

我最近开始开发 Android 应用程序,虽然模型越看越有意义,但我无法做一些对我来说似乎很简单的事情(也找不到任何参考资料)。

我有一个底部有五个按钮的活动,一个空白视图占据了屏幕的其余部分。我希望在单击这些按钮后,在(并仅限于)该视图中打开一个活动。我可以毫无意外地运行新活动,但这会在新屏幕中打开。

如果有人可以向我展示一种在父活动的布局 xml 文件中定义的视图中启动(子/子?)活动的简单方法 - 同样,它可以在父活动中创建 - 你真的在做我一个忙!

0 投票
2 回答
2095 浏览

android - 活动和子活动

我的应用程序有 5 个不同的活动(将它们命名为 A、B、C、D、E),并且有一个菜单(由屏幕底部的按钮制作),用于在 A、B...E 之间切换

当我显示 A 时,有一些按钮,用户可以通过它在 A 顶部进行另一个活动 A1,然后从那里进入 A12,所以我的活动堆栈类似于 A>A1>A12,现在用户单击B 的菜单按钮,然后他从那里继续 B1。(堆栈就像 A>A1>A12>B>B1)现在如果用户按下按钮切换回 A,那么它应该显示 A12,因为它在 A 的顶部。

我该如何管理这个scanario?我一点提示都没有

0 投票
0 回答
920 浏览

android - 子活动中的猴子开始意图导致 ANR

我有一个 android 应用程序,主活动上有一个按钮,它创建了第二个 PreferenceActivity 来显示设置。

清单看起来像这样

当我使用 Monkey 进行测试时,问题就出现了。它将启动我的应用程序,然后按下按钮创建我的 PreferenceActivity。一旦创建了 PreferenceActivity,monkey 将发送一个意图来启动另一个包。PreferenceActivity 将暂停并运行其他包。然后猴子发送另一个意图来启动我的原始应用程序。我看到我的 PreferenceActivity 进入 onResume() 然后它冻结并发生 ANR。

我在我的 logcat 中看到:

我删除了 PreferencesActivity 中的所有内容,所以剩下的就是

恢复 PreferenceActivity 时,我仍然会收到 ANR。但是,如果我将其更改为扩展 Activity 而不是 PreferenceActivity 并删除 onCreate() 中的首选项,我将不再获得 ANR。如果我尝试使用“adb shell am”手动启动意图,我也不会得到 ANR,所以我的问题只在我运行 Monkey 时出现。

非常感激任何的帮助。谢谢你。

0 投票
2 回答
355 浏览

android - Subactivity onClick Firing in Parent Class

I am having some trouble with the onClick handler in a sub activity of an ActivityGroup.

I am launching a StoreActivity using:

In the StoreActivity layout I have a button which defines an onClick method. For some reason however, it is trying to call this in the parent class that launched StoreActivity. Am I doing something wrong when launching the activity? The output of Log.e above says that StoreActivity is the current activity so I am a bit lost as to why this is happening. I can get around this by defining an onClickListener for the button in code in StoreActvity but I would like to avoid that if possible.

0 投票
3 回答
5844 浏览

android - Android Home 活动启动子活动

我对 Android 编程比较陌生。我在工作中被分配了一项任务,我需要创建一个自定义主页活动启动器。我做了一些研究,并在 Android 开发者网站(主页示例)上找到了该示例。这是我原型的开始。

自定义 Home 活动将需要用户进行身份验证(输入一些简单的凭据)。我的想法是从 Home 活动启动一个子活动,并将意图中的结果传递回 Home 活动。我需要能够捕获有关这些凭据的信息,并且该信息将被传递回 Home 活动。但是,我在尝试这个时遇到了问题。我在 LogCat 中收到一条日志,内容如下:“活动正在作为新任务启动,因此取消活动结果。”

我知道 startActivityForResult 方法,但这似乎对我不起作用。这是我从 Home 活动启动活动的地方:

当该代码执行时,我从 ActivityManager 标记中获取上述日志。

我的登录活动有一个按钮,用户输入凭据后将点击该按钮。如果凭据很好,那么我尝试执行以下操作(我输入了几个日志,以便我可以尝试找出发生了什么):

我在清单文件中将这些活动定义如下:

我正在使用登录活动的意图过滤器。我最初将其设置为空。我也有 launchMode 空白(我相信默认为标准)。我已经使用了这些选项中的大多数,但似乎没有任何改变 ActivityManager 似乎想要将活动作为新任务启动并想要忽略返回的意图(我需要)的事实。

0 投票
1 回答
3404 浏览

android - Android:子活动在 onActivityResult 中返回 NULL Intent 对象

想不通这个 完成研究,在这里搜索,在线等。仍然是 Java/Android 的新程序员,但似乎我做对了,所以就这样吧。

我的主要活动根据触摸的菜单条目启动了几个子活动。对于其中的每一个,我将一个带有一些“额外”字符串数据的包传递给子活动。每个子活动检索数据,进行一些处理,然后使用 .putExtra() 将新/更改的数据放回包中,并使用 finish() 退出子活动。

除了一个子活动之外,这在所有子活动中都可以正常工作。在这一个子活动中,当我返回 onActivityResult 时,intent 对象为 NULL 而不是“具有附加功能”。我已经尝试了很多东西,但我就是无法让它工作。这是一些框架代码,我希望能帮助证明这一点:

在父活动中,onOptionItemsSelected 的一部分,子活动被启动:

子活动 GetWriteFileName:

子活动 GetReadFileName:

最后,在 onActivityResult 中:

我希望你会原谅省略右括号等。

问题是,当 GetWriteFileName 返回父Intent 时,数据在调试器中显示为“有额外内容”,并且可以检索字符串。

当GetReadFileName 返回父Intent 数据为NULL 时,这就是问题所在。为什么它是空的?从我的角度来看,我在这两项活动中都在做同样的事情,将东西返还给父母。我的 Android Manifest 文件包含我认为应该包含的内容。关键字段似乎正确。我被困在这里。想法?

清单文件部分:

感谢您阅读所有这些内容。

0 投票
2 回答
657 浏览

java - 如何在活动顶部显示“窗口/子活动/对话框”但将焦点保持在活动中

我的活动 A 是一个游戏,它执行一些后台操作。当我在上下文菜单中按下一个按钮时,我想弹出一个“小窗口/对话框/子活动”(我们称之为 B),它出现在活动 A 的顶部并显示有关这些后台操作的一些数据。但我需要将注意力集中在活动 A 上,以便继续与它互动(玩游戏)。

本质上,我希望能够在玩游戏时看到B显示的数据。

我不确定如何实现这一点。阅读文档后,我得出以下结论:

  • 我知道我不能使用对话框,因为它有焦点。有可能避免这种情况吗?
  • 使用带有对话框主题的子活动,这是另一个看起来很诱人的选项......但我相信子活动具有焦点。同上。
  • 我的最后一个选择是尝试将带有我的数据的 LinearLayout 添加到主布局,“共享/拆分”屏幕。这并不漂亮,但至少我知道这是可能的。我不喜欢这种方法的是我使用屏幕的宽度和高度。

有什么建议么?解决方案?

PS:我在这里找到了一些与我的问题非常相关的线程:

0 投票
1 回答
155 浏览

android - 我应该如何使用 Back Stack 来允许使用后退按钮?

所以,我有这个应用程序有 4 个不同的活动:

  • A是主要活动,带有三个按钮来启动B,C和D(我认为人们习惯将这些称为子活动)。
  • 每个活动都有自己的布局,但我相信这与这里无关。

我想做的是大多数应用程序的标准行为。那是:

  1. 我首先启动应用程序并查看活动 A。
  2. 然后我按下一个按钮,例如 C,并显示活动 C。
  3. 然后我按下后退按钮,活动 A 再次显示。

我的应用程序正确执行了第 1 点和第 2 点,但在第 3 点应用程序消失了。

按钮的 onClick 方法是这样的:

没有任何活动覆盖 onBackPressed 方法。

这是我的清单文件的(部分):

我从我所做的调试工作中知道,在调用按钮的 onClick 方法之后调用 A.onDestroy() 。基于此信息,我认为,当然我可能是错的,活动 A 出于某种原因被操作系统从历史堆栈中删除。

现在我知道这种问题已经在 stackoverflow 上解决了,但是我已经尝试了所有我能找到的建议,但没有一个奏效。我想解释一下我自己的情况。