4

我试图制作一个简单的应用程序,我想添加一个新的 Activity 但是当我在模拟器上运行我的应用程序时(Eclipse 没有给我任何错误)它只是崩溃了。

这是我的日志:

09-21 05:18:13.066: I/Process(255): Sending signal. PID: 255 SIG: 9
09-21 05:18:13.106: I/ActivityManager(52): Process com.example.proyecto_1 (pid 255) has died.
09-21 05:18:13.172: I/UsageStats(52): Unexpected resume of com.android.launcher while     already resumed in com.example.proyecto_1
09-21 05:18:13.402: E/gralloc(52): [unregister] handle 0x14d478 still locked (state=40000001)
09-21 05:18:13.462: W/InputManagerService(52): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@44de1dc8
09-21 05:18:16.193: W/KeyCharacterMap(107): No keyboard for id 0
09-21 05:18:16.203: W/KeyCharacterMap(107): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
09-21 05:18:18.594: I/ActivityManager(52): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.proyecto_1/.MainActivity }
09-21 05:18:18.673: I/ActivityManager(52): Start proc com.example.proyecto_1 for activity com.example.proyecto_1/.MainActivity: pid=261 uid=10028 gids={}
09-21 05:18:18.913: D/ddm-heap(261): Got feature list request
09-21 05:18:19.083: D/AndroidRuntime(261): Shutting down VM
09-21 05:18:19.123: W/dalvikvm(261): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
09-21 05:18:19.123: E/AndroidRuntime(261): Uncaught handler: thread main exiting due to uncaught exception
09-21 05:18:19.233: E/AndroidRuntime(261): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.proyecto_1/com.example.proyecto_1.MainActivity}: java.lang.ClassNotFoundException: com.example.proyecto_1.MainActivity in loader dalvik.system.PathClassLoader@4001b500
09-21 05:18:19.233: E/AndroidRuntime(261):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
09-21 05:18:19.233: E/AndroidRuntime(261):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
09-21 05:18:19.233: E/AndroidRuntime(261):  at android.app.ActivityThread.access$2200(ActivityThread.java:119)
09-21 05:18:19.233: E/AndroidRuntime(261):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
09-21 05:18:19.233: E/AndroidRuntime(261):  at android.os.Handler.dispatchMessage(Handler.java:99)
09-21 05:18:19.233: E/AndroidRuntime(261):  at android.os.Looper.loop(Looper.java:123)
09-21 05:18:19.233: E/AndroidRuntime(261):  at android.app.ActivityThread.main(ActivityThread.java:4363)
09-21 05:18:19.233: E/AndroidRuntime(261):  at java.lang.reflect.Method.invokeNative(Native Method)
09-21 05:18:19.233: E/AndroidRuntime(261):  at java.lang.reflect.Method.invoke(Method.java:521)
09-21 05:18:19.233: E/AndroidRuntime(261):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
09-21 05:18:19.233: E/AndroidRuntime(261):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
09-21 05:18:19.233: E/AndroidRuntime(261):  at dalvik.system.NativeStart.main(Native Method)
09-21 05:18:19.233: E/AndroidRuntime(261): Caused by: java.lang.ClassNotFoundException: com.example.proyecto_1.MainActivity in loader dalvik.system.PathClassLoader@4001b500
09-21 05:18:19.233: E/AndroidRuntime(261):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
09-21 05:18:19.233: E/AndroidRuntime(261):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
09-21 05:18:19.233: E/AndroidRuntime(261):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
09-21 05:18:19.233: E/AndroidRuntime(261):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
09-21 05:18:19.233: E/AndroidRuntime(261):  at     android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)
09-21 05:18:19.233: E/AndroidRuntime(261):  ... 11 more
09-21 05:18:19.314: I/Process(52): Sending signal. PID: 261 SIG: 3
09-21 05:18:19.314: I/dalvikvm(261): threadid=7: reacting to signal 3
09-21 05:18:19.333: I/dalvikvm(261): Wrote stack trace to '/data/anr/traces.txt'
09-21 05:18:21.073: I/Process(261): Sending signal. PID: 261 SIG: 9
09-21 05:18:21.093: I/ActivityManager(52): Process com.example.proyecto_1 (pid 261) has died.
09-21 05:18:21.114: I/UsageStats(52): Unexpected resume of com.android.launcher while already resumed in com.example.proyecto_1
09-21 05:18:21.263: W/InputManagerService(52): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@44dae108

这是我的 MainActivity:

package com.example.proyecto_1;

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 MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button button1 = (Button) findViewById(R.id.button1);
    button1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent test_scrn1 = new Intent(MainActivity.this, TestScrn1.class);
            startActivity(test_scrn1);
        }
    });

    }
}

最后这是我的 AndroidManifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.proyecto_1"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="7"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" android:hasCode="false" android:allowTaskReparenting="false">
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="TestScrn1"></activity>
</application>

我不知道我做错了什么,我一直在寻找解决方案,但我不能,请帮助我。

4

4 回答 4

4

你的错误有很多可能性。

  • First Put (.)DOT 在 android 中引导您的 TestScrn1 Activity 声明。
  • 确保清单文件中的 android:hasCode 未设置为 false。
  • 清理您的项目并再次运行。
  • 勾选项目 > 自动构建。
于 2012-09-21T05:43:39.070 回答
1

这是dot(.).

清单文件中的更改。

<activity android:name="TestScrn1"></activity>

(到)

<activity android:name=".TestScrn1"></activity>

给出完全限定的类名是一种很好的做法,例如

<activity android:name="com.example.proyecto_1.TestScrn1"></activity>
于 2012-09-21T05:34:55.823 回答
0

你应该试试这个

<activity android:name=".Your Activity Name"></activity>

and Dont Remove dot(.)
于 2012-09-21T05:47:08.207 回答
0

还有更多的可能

  • 再次保存您的 xml 文件
  • 清理你的项目
  • 检查你的班级名称
  • 它不是必要的 Put(.) 所以不用担心
  • 还要检查 Class this Method

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.yourlayout);
    
    
        }
    
于 2012-09-21T05:47:25.160 回答