我正在为Android制作游戏,但我从未真正找到改变活动或内容视图的好方法。我现在有1个主菜单活动,其内容视图接收MotionEvent
个s并将它们发送到我的自定义按钮。另一个Activity
有一个简单的contentView
,只用一种颜色绘制屏幕。所有contentView
具有相同的基类,活动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);
}
有什么想法吗?
答案 0 :(得分:1)
您必须在方法
中使用活动的上下文Intent i=new Intent(Youar_Activity_Name.this, Activity_Level.class);
^^^^^^^^^^^^^^^^^^^^^^
在changeActivity()方法中使用上述代码。
答案 1 :(得分:1)
如果应用没有响应,那是因为你在UI线程上做了很长时间的操作。也许在调用此功能后你还会继续做其他事情吗?
如果人们说,活动没有打开(你可以通过写入onCreate方法中的日志来检查它),检查清单。
在任何情况下,如果你想更好地控制活动,你可以检查用于意图的可能标志,你也可以使用片段(如果可能的话),就像google推荐的那样。
答案 2 :(得分:0)
如果没有看到logcat消息,我打赌你忘了在AndroidManifest.xml中添加活动
答案 3 :(得分:0)
我感觉您没有将所有活动添加到manifest.xml
文件中。尝试在那里添加所有活动,并给它一个运行。