当我点击按钮转到下一个活动时,我的应用程序崩溃了。我不知道我的Game类,菜单类,游戏布局或Manifest是否存在问题。我认为它是显而易见的。
我尝试了很多不同的方法来解决问题。我更改了清单中intent的名称,我更改了我在java类中调用activity的方式......但没有任何效果。
有人可以帮忙吗?
我认为我在清单中宣布活动的方式存在问题,但我不确定。
以下是代码:
Menu.java:
package com.example.hello_world;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Menu extends Activity implements OnClickListener {
Button clickToStart;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_activity);
clickToStart = (Button) findViewById(R.id.click);
clickToStart.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent openGame = new Intent(getApplicationContext(), Game.class);
startActivity(openGame);
}
}
Game.java:
package com.example.hello_world;
import android.app.Activity;
import android.os.Bundle;
public class Game extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game_activity);
}
}
Android Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.hello_world"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".Menu"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Game"
android:label="@string/app_name"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="com.example.hello_world.GAME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
游戏布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Game" >
<Button
android:id="@+id/button1"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="18dp"
android:text="a" />
<Button
android:id="@+id/button2"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_toRightOf="@+id/button1"
android:text="b" />
<Button
android:id="@+id/button4"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignBaseline="@+id/button3"
android:layout_alignBottom="@+id/button3"
android:layout_toRightOf="@+id/button3"
android:text="c" />
<Button
android:id="@+id/button5"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignBaseline="@+id/button4"
android:layout_alignBottom="@+id/button4"
android:layout_toRightOf="@+id/button4"
android:text="d" />
<Button
android:id="@+id/button6"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/button1"
android:layout_below="@+id/button1"
android:text="e" />
<Button
android:id="@+id/button7"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignBaseline="@+id/button6"
android:layout_alignBottom="@+id/button6"
android:layout_alignRight="@+id/button2"
android:layout_toRightOf="@+id/button6"
android:text="f" />
<Button
android:id="@+id/button8"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_below="@+id/button2"
android:layout_toRightOf="@+id/button2"
android:text="g" />
<Button
android:id="@+id/button3"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_above="@+id/button7"
android:layout_toRightOf="@+id/button2"
android:text="h" />
<Button
android:id="@+id/button9"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignBaseline="@+id/button8"
android:layout_alignBottom="@+id/button8"
android:layout_toLeftOf="@+id/button5"
android:text="i" />
<Button
android:id="@+id/button10"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_below="@+id/button4"
android:layout_toRightOf="@+id/button4"
android:text="j" />
<Button
android:id="@+id/button11"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/button6"
android:layout_below="@+id/button6"
android:text="k" />
<Button
android:id="@+id/button13"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignLeft="@+id/button8"
android:layout_below="@+id/button8"
android:text="l" />
<Button
android:id="@+id/button14"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignBaseline="@+id/button12"
android:layout_alignBottom="@+id/button12"
android:layout_toRightOf="@+id/button13"
android:text="m" />
<Button
android:id="@+id/button16"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/button21"
android:layout_below="@+id/button12"
android:text="n" />
<Button
android:id="@+id/button17"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_below="@+id/button12"
android:layout_toLeftOf="@+id/button18"
android:layout_toRightOf="@+id/button16"
android:text="o" />
<Button
android:id="@+id/button19"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignBaseline="@+id/button18"
android:layout_alignBottom="@+id/button18"
android:layout_toLeftOf="@+id/button15"
android:text="p" />
<Button
android:id="@+id/button20"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignBaseline="@+id/button17"
android:layout_alignBottom="@+id/button17"
android:layout_alignLeft="@+id/button10"
android:text="q" />
<Button
android:id="@+id/button18"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_below="@+id/button14"
android:layout_toLeftOf="@+id/button14"
android:text="r" />
<Button
android:id="@+id/button15"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignLeft="@+id/button10"
android:layout_below="@+id/button10"
android:text="t" />
<Button
android:id="@+id/button21"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/button6"
android:layout_below="@+id/button16"
android:text="u" />
<Button
android:id="@+id/button22"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignBaseline="@+id/button21"
android:layout_alignBottom="@+id/button21"
android:layout_alignLeft="@+id/button17"
android:layout_alignRight="@+id/button17"
android:text="v" />
<Button
android:id="@+id/button23"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignBaseline="@+id/button22"
android:layout_alignBottom="@+id/button22"
android:layout_alignLeft="@+id/button18"
android:text="w" />
<Button
android:id="@+id/button24"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignBaseline="@+id/button23"
android:layout_alignBottom="@+id/button23"
android:layout_toRightOf="@+id/button23"
android:text="x" />
<Button
android:id="@+id/button25"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignBaseline="@+id/button24"
android:layout_alignBottom="@+id/button24"
android:layout_alignLeft="@+id/button20"
android:text="y" />
<Button
android:id="@+id/button12"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:layout_alignRight="@+id/button7"
android:layout_below="@+id/button6"
android:layout_toRightOf="@+id/button6"
android:text="s" />
错误日志:
答案 0 :(得分:2)
您目前将按钮的所有布局尺寸设置为字符串参考。布局维度必须是整数 - 您可以将它们存储在dimens.xml
中,如下所示:
<dimen name="size">16dp</dimen> <!-- change size to what you need -->
然后,使用layout_width="@dimen/size"
查看您的观看次数(以及layout_height
)。
答案 1 :(得分:1)
您应该使用Activity上下文来启动Activity而不是Application Context。
由于Activity扩展了Context,您可以使用 this 关键字来引用上下文。
@Override
public void onClick(View v) {
Intent openGame = new Intent(this, Game.class);
startActivity(openGame);
}
如果您真的想使用应用程序上下文(我认为您不打算这样做),那么我相信您必须以不同的方式在新任务中启动Activity。
答案 2 :(得分:1)
删除Game Activity的intent过滤器,并确保该类位于正确的包中
<intent-filter>
<action android:name="com.example.hello_world.GAME" />
<category android:name="android.intent.category.DEFAULT" />
这不是在游戏布局中设置按钮高度和宽度的正确方法:纠正它们。
<Button
android:id="@+id/button2"
android:layout_width="@string/size"
android:layout_height="@string/size"
android:text="b" />
此致