如何解决“找不到处理意图的活动”错误

时间:2012-06-04 10:46:52

标签: android eclipse

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.android.suven.Create_memo }

我只是想从一个活动转到另一个活动,但它给了我这个错误。

我的主要活动代码如下

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    btn1 = (Button)findViewById(R.id.button1);
    btn1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) 
        {
            try
            {
                Intent i=new Intent("com.android.suven.Create_memo");
            startActivity(i);
            }
            catch ( ActivityNotFoundException e) {
                e.printStackTrace();
            }

        }

    });  
    btn2 = (Button)findViewById(R.id.button2);
    btn2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) 
        {
            try
            {
                Intent i=new Intent("com.android.suven.Create_memo");
            startActivity(i);
            }
            catch ( ActivityNotFoundException e) {
                e.printStackTrace();
            }

    });          
  }
}

我的logcat是这样的:

06-05 13:43:35.959: E/AndroidRuntime(275): FATAL EXCEPTION: main
06-05 13:43:35.959: E/AndroidRuntime(275): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.suven/com.android.suven.Create_memo}: java.lang.NullPointerException
06-05 13:43:35.959: E/AndroidRuntime(275):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
06-05 13:43:35.959: E/AndroidRuntime(275):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-05 13:43:35.959: E/AndroidRuntime(275):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-05 13:43:35.959: E/AndroidRuntime(275):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-05 13:43:35.959: E/AndroidRuntime(275):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-05 13:43:35.959: E/AndroidRuntime(275):  at android.os.Looper.loop(Looper.java:123)
06-05 13:43:35.959: E/AndroidRuntime(275):  at android.app.ActivityThread.main(ActivityThread.java:4627)
06-05 13:43:35.959: E/AndroidRuntime(275):  at java.lang.reflect.Method.invokeNative(Native Method)
06-05 13:43:35.959: E/AndroidRuntime(275):  at java.lang.reflect.Method.invoke(Method.java:521)
06-05 13:43:35.959: E/AndroidRuntime(275):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-05 13:43:35.959: E/AndroidRuntime(275):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-05 13:43:35.959: E/AndroidRuntime(275):  at dalvik.system.NativeStart.main(Native Method)
06-05 13:43:35.959: E/AndroidRuntime(275): Caused by: java.lang.NullPointerException
06-05 13:43:35.959: E/AndroidRuntime(275):  at com.android.suven.Create_memo.onCreate(Create_memo.java:56)
06-05 13:43:35.959: E/AndroidRuntime(275):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-05 13:43:35.959: E/AndroidRuntime(275):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-05 13:43:35.959: E/AndroidRuntime(275):  ... 11 more
06-05 13:43:39.199: I/Process(275): Sending signal. PID: 275 SIG: 9

3 个答案:

答案 0 :(得分:3)

在您的代码行中

Intent i=new Intent("com.android.suven.Create_memo");

" com.android.suven.Create_memo" 被视为行动。

相反,你必须把

Intent i=new Intent(YourCurrentAivityName.this, Create_memo.class);

同时加上

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

在AndroidManifest.xml文件中。

答案 1 :(得分:0)

您是否在清单文件中声明了Create_memo活动?像:

<activity
            android:name="com.android.suven.Create_memo" />

答案 2 :(得分:0)

这是NextActivity.java

public class NextActivity extends Activity {

//Your member variable declaration here

// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
//Your code here
}
}

创建新Activity后,我们必须在文件'AndroidManifest.xml'中注册它。 对于注册,我们必须在'AndroidManifest.xml'中创建一个条目

**<activity android:name=".NextActivity" android:label="@string/app_name"/>**