0

我正在为 Android 制作游戏,但我从未真正找到改变活动或内容视图的好方法。我现在有 1 个主菜单活动,其内容视图接收MotionEvents 并将它们发送到我的自定义按钮。另一个Activity有一个简单的contentView,它只是用一种颜色绘制屏幕。所有contentViews 都具有相同的基类,并且活动 2 是从活动 1 派生的。

问题是,如果尝试更改活动,应用程序就会崩溃。大约需要 20 秒,然后出现错误消息,指出应用程序没有响应。在 logcat 中,还有一条消息keyDispatchingTimedOut sending to activity2 下面是活动更改的代码:

public void changeActivity() {
    Log.d("changing", "activity");
    Intent i=new Intent(this, Activity_Level.class);
    startActivity(i);
}

有任何想法吗?

4

4 回答 4

1

您必须在方法中使用活动的上下文

Intent i=new Intent(Youar_Activity_Name.this, Activity_Level.class);
                    ^^^^^^^^^^^^^^^^^^^^^^

在您的 changeActivity() 方法中使用上述代码。

于 2012-07-30T14:54:50.577 回答
1

如果应用程序没有响应,那是因为您在 UI 线程上执行了长时间操作。也许在调用这个函数之后你继续做其他事情?

如果,正如人们所说,活动没有打开(你可以通过在 onCreate 方法中写入日志来检查它),检查清单。

无论如何,如果您想更好地控制活动,您可以检查用于意图的可能标志,也可以使用片段(如果可能),就像谷歌推荐的那样。

于 2012-07-30T14:59:37.407 回答
0

没有看到 logcat 消息,我敢打赌你忘了在 AndroidManifest.xml 中添加活动

于 2012-07-30T14:48:23.567 回答
0

我感觉到您没有将所有活动都添加到manifest.xml文件中。尝试在那里添加所有活动,然后试一试。

于 2012-07-30T14:53:57.550 回答