有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

共 (4) 个答案

  1. # 1 楼答案

    你应该用

    “android.intent.category.DEFAULT”

    关于如何

    如果你在家里使用LAUNCHER

  2. # 2 楼答案

    你的问题可能在这里:

    java.lang.ClassNotFoundException: Didn't find class "android.view.button" on path: /data/app/com.example.whackachav-1.apk
    

    这可能是由于:

    <button
            android:id="@+id/btnHomeFromHow"
            style="@style/btnStyleShakespeare"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/tvBucky"
            android:text="Back to Main Menu"
            android:layout_marginTop="10dp"
            />
    

    因为“button”实际上应该是大写B的“button”

    此外,可能是不相关的,但取决于你是如何开始“HowTo”活动的,最好是简单地调用finish(),而不是再次尝试开始家庭活动

  3. # 3 楼答案

    你没有定义家。Android清单中的java类。 试试这个

    <activity 
        android:name="com.example.whackachav.Home"
        android:label="@string/app_name" >
        </activity>
    
  4. # 4 楼答案

    改变

    <button
            android:id="@+id/btnHomeFromHow"
            style="@style/btnStyleShakespeare"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/tvBucky"
            android:text="Back to Main Menu"
            android:layout_marginTop="10dp"
            />
    

    <Button  // B in caps
        android:id="@+id/btnHomeFromHow"
        style="@style/btnStyleShakespeare"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/tvBucky"
        android:text="Back to Main Menu"
        android:layout_marginTop="10dp"
        />