java在Android的第二个活动中添加了一个按钮,以返回到第一个活动。现在,当导航到第二个活动时,应用程序崩溃
我的应用程序有点问题。我正处于制作游戏的开始阶段,我有一个简单的说明页面,运行良好。直到我在底部添加了一个按钮返回主页。现在,当我单击指向“说明”页面的链接时,应用程序崩溃。我环顾四周,只能找到那些没有将活动添加到清单中的人。请帮忙
返回按钮的代码
import 安卓.app.Activity;
import 安卓.os.Bundle;
import 安卓.view.View;
import 安卓.view.View.OnClickListener;
import 安卓.widget.Button;
import 安卓.content.Intent;
public class HowTo extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.how_to);
Button btnHomeFromHow = (Button) findViewById(R.id.btnHomeFromHow);
btnHomeFromHow.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
startActivity(new Intent(HowTo.this, Home.class));
}
});
舱单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
package="com.example.whackachav"
安卓:versionCode="1"
安卓:versionName="1.0" >
<uses-sdk
安卓:minSdkVersion="8"
安卓:targetSdkVersion="17" />
<application
安卓:allowBackup="true"
安卓:icon="@drawable/ic_launcher"
安卓:label="@string/app_name"
安卓:theme="@style/AppTheme" >
<activity
安卓:name="com.example.whackachav.Home"
安卓:label="@string/app_name" >
<intent-filter>
<action 安卓:name="安卓.intent.action.MAIN" />
<category 安卓:name="安卓.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
安卓:name="com.example.whackachav.HowTo"
安卓:label="@string/app_name" >
<intent-filter>
<action 安卓:name="安卓.intent.action.Main" />
<category 安卓:name="安卓.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
安卓:name="com.example.whackachav.Game"
安卓:label="@string/app_name" >
<intent-filter>
<action 安卓:name="安卓.intent.action.MAIN" />
<category 安卓:name="安卓.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
安卓:name="com.example.whackachav.HighScores"
安卓:label="@string/app_name" >
<intent-filter>
<action 安卓:name="安卓.intent.action.MAIN" />
<category 安卓:name="安卓.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
布局文件中的按钮
<button
安卓:id="@+id/btnHomeFromHow"
style="@style/btnStyleShakespeare"
安卓:layout_width="fill_parent"
安卓:layout_height="wrap_content"
安卓:layout_below="@id/tvBucky"
安卓:text="Back to Main Menu"
安卓:layout_marginTop="10dp"
/>
日志
12-13 16:05:25.560: E/Trace(2397): error opening trace file: No such file or directory (2)
12-13 16:05:26.260: D/dalvikvm(2397): GC_FOR_ALLOC freed 53K, 8% free 2456K/2652K, paused 42ms, total 44ms
12-13 16:05:26.431: D/dalvikvm(2397): GC_CONCURRENT freed 2K, 7% free 2909K/3112K, paused 82ms+4ms, total 156ms
12-13 16:05:27.100: D/gralloc_goldfish(2397): Emulator without GPU emulation detected.
12-13 16:05:27.740: I/Choreographer(2397): Skipped 84 frames! The application may be doing too much work on its main thread.
12-13 16:05:35.921: D/dalvikvm(2397): GC_CONCURRENT freed 30K, 5% free 3349K/3524K, paused 79ms+8ms, total 210ms
12-13 16:05:35.921: D/dalvikvm(2397): WAIT_FOR_CONCURRENT_GC blocked 39ms
12-13 16:05:36.160: D/dalvikvm(2397): GC_FOR_ALLOC freed 50K, 6% free 3546K/3772K, paused 47ms, total 55ms
12-13 16:05:36.170: I/dalvikvm-heap(2397): Grow heap (frag case) to 4.213MB for 643068-byte allocation
12-13 16:05:36.240: D/dalvikvm(2397): GC_FOR_ALLOC freed <1K, 6% free 4174K/4404K, paused 64ms, total 64ms
12-13 16:05:36.360: D/dalvikvm(2397): GC_CONCURRENT freed <1K, 6% free 4174K/4404K, paused 5ms+17ms, total 117ms
12-13 16:05:36.721: D/dalvikvm(2397): GC_FOR_ALLOC freed <1K, 6% free 4178K/4404K, paused 44ms, total 52ms
12-13 16:05:36.740: I/dalvikvm-heap(2397): Grow heap (frag case) to 4.942MB for 760600-byte allocation
12-13 16:05:36.950: D/dalvikvm(2397): GC_CONCURRENT freed <1K, 5% free 4920K/5148K, paused 85ms+4ms, total 210ms
12-13 16:05:37.330: D/AndroidRuntime(2397): Shutting down VM
12-13 16:05:37.340: W/dalvikvm(2397): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
12-13 16:05:37.500: E/AndroidRuntime(2397): FATAL EXCEPTION: main
12-13 16:05:37.500: E/AndroidRuntime(2397): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.whackachav/com.example.whackachav.HowTo}: 安卓.view.InflateException: Binary XML file line #101: Error inflating class button
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.app.ActivityThread.access$600(ActivityThread.java:141)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.os.Handler.dispatchMessage(Handler.java:99)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.os.Looper.loop(Looper.java:137)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.app.ActivityThread.main(ActivityThread.java:5041)
12-13 16:05:37.500: E/AndroidRuntime(2397): at java.lang.reflect.Method.invokeNative(Native Method)
12-13 16:05:37.500: E/AndroidRuntime(2397): at java.lang.reflect.Method.invoke(Method.java:511)
12-13 16:05:37.500: E/AndroidRuntime(2397): at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
12-13 16:05:37.500: E/AndroidRuntime(2397): at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:560)
12-13 16:05:37.500: E/AndroidRuntime(2397): at dalvik.system.NativeStart.main(Native Method)
12-13 16:05:37.500: E/AndroidRuntime(2397): Caused by: 安卓.view.InflateException: Binary XML file line #101: Error inflating class button
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.view.LayoutInflater.createViewFromTag(LayoutInflater.java:698)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.view.LayoutInflater.rInflate(LayoutInflater.java:746)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.view.LayoutInflater.rInflate(LayoutInflater.java:749)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:489)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:396)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.view.LayoutInflater.inflate(LayoutInflater.java:352)
12-13 16:05:37.500: E/AndroidRuntime(2397): at com.安卓.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.app.Activity.setContentView(Activity.java:1881)
12-13 16:05:37.500: E/AndroidRuntime(2397): at com.example.whackachav.HowTo.onCreate(HowTo.java:15)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.app.Activity.performCreate(Activity.java:5104)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
12-13 16:05:37.500: E/AndroidRuntime(2397): ... 11 more
12-13 16:05:37.500: E/AndroidRuntime(2397): Caused by: java.lang.ClassNotFoundException: Didn't find class "安卓.view.button" on path: /data/app/com.example.whackachav-1.apk
12-13 16:05:37.500: E/AndroidRuntime(2397): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
12-13 16:05:37.500: E/AndroidRuntime(2397): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
12-13 16:05:37.500: E/AndroidRuntime(2397): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.view.LayoutInflater.createView(LayoutInflater.java:552)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.view.LayoutInflater.onCreateView(LayoutInflater.java:643)
12-13 16:05:37.500: E/AndroidRuntime(2397): at com.安卓.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.view.LayoutInflater.onCreateView(LayoutInflater.java:660)
12-13 16:05:37.500: E/AndroidRuntime(2397): at 安卓.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
12-13 16:05:37.500: E/AndroidRuntime(2397): ... 22 more
12-13 16:05:39.780: I/Process(2397): Sending signal. PID: 2397 SIG: 9
# 1 楼答案
你应该用
“android.intent.category.DEFAULT”
关于如何
如果你在家里使用LAUNCHER
# 2 楼答案
你的问题可能在这里:
这可能是由于:
因为“button”实际上应该是大写B的“button”
此外,可能是不相关的,但取决于你是如何开始“HowTo”活动的,最好是简单地调用finish(),而不是再次尝试开始家庭活动
# 3 楼答案
你没有定义家。Android清单中的java类。 试试这个
# 4 楼答案
改变
到