2013-05-06 38 views
0

在編程世界中總的noob這裏,我只是想弄清楚,爲什麼當我點擊我的應用程序上的登錄屏幕的按鈕,它只是不會運行,並意外關閉「在模擬器中。ActivityNotFoundException Android應用程序

下面的代碼:

package com.lania.saludandroidte; 


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; 

import android.widget.TextView; 

public class LoginActivity extends Activity implements View.OnClickListener{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.login); 

     Button log = (Button) findViewById(R.id.btnLogin); 
     log.setOnClickListener((OnClickListener) this); 

     TextView registerScreen = (TextView) findViewById(R.id.link_to_register); 

     // Listening to register new account link 
     registerScreen.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       // Switching to Register screen 


       Intent i = new Intent(getApplicationContext(), RegisterActivity.class); 
       startActivity(i); 
      } 
     }); 
    } 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     if (v.getId() == R.id.btnLogin) { 
      startActivity(new Intent(LoginActivity.this, Menu.class)); 
     } 
    } 



} 

這裏的日誌:

這就是我得到:

05-06 13:07:05.155: E/AndroidRuntime(277): FATAL EXCEPTION: main 
05-06 13:07:05.155: E/AndroidRuntime(277): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.lania.saludandroidte/com.lania.saludandroidte.Menu}; have you declared this activity in your AndroidManifest.xml? 
05-06 13:07:05.155: E/AndroidRuntime(277): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404) 
05-06 13:07:05.155: E/AndroidRuntime(277): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378) 
05-06 13:07:05.155: E/AndroidRuntime(277): at android.app.Activity.startActivityForResult(Activity.java:2817) 
05-06 13:07:05.155: E/AndroidRuntime(277): at android.app.Activity.startActivity(Activity.java:2923) 
05-06 13:07:05.155: E/AndroidRuntime(277): at com.lania.saludandroidte.LoginActivity.onClick(LoginActivity.java:41) 
05-06 13:07:05.155: E/AndroidRuntime(277): at android.view.View.performClick(View.java:2408) 
05-06 13:07:05.155: E/AndroidRuntime(277): at android.view.View$PerformClick.run(View.java:8816) 
05-06 13:07:05.155: E/AndroidRuntime(277): at android.os.Handler.handleCallback(Handler.java:587) 
05-06 13:07:05.155: E/AndroidRuntime(277): at android.os.Handler.dispatchMessage(Handler.java:92) 
05-06 13:07:05.155: E/AndroidRuntime(277): at android.os.Looper.loop(Looper.java:123) 
05-06 13:07:05.155: E/AndroidRuntime(277): at android.app.ActivityThread.main(ActivityThread.java:4627) 
05-06 13:07:05.155: E/AndroidRuntime(277): at java.lang.reflect.Method.invokeNative(Native Method) 
05-06 13:07:05.155: E/AndroidRuntime(277): at java.lang.reflect.Method.invoke(Method.java:521) 
05-06 13:07:05.155: E/AndroidRuntime(277): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
05-06 13:07:05.155: E/AndroidRuntime(277): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
05-06 13:07:05.155: E/AndroidRuntime(277): at dalvik.system.NativeStart.main(Native Method) 

清單文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.lania.saludandroidte" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name= "com.lania.saludandroidte.MainActivity" 
      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="com.lania.saludandroidte.Glucosa" 
      android:label="@string/title_activity_glucosa" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

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

     <activity 
      android:name="com.lania.saludandroidte.LoginActivity" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity android:name="com.sanikte.proyecto.Menu" /> 
     <activity android:name="com.sanikte.proyecto.RegisterActivity" /> 
    </application> 

</manifest> 
+1

你聲明'AndroidManifest.xml'中的'Menu' Activity? – 2013-05-06 18:49:13

+0

是的,已經宣佈它:) – user2355171 2013-05-06 18:54:38

+0

PLZ顯示你的'AndroidManifest'文件xml也確保你有菜單或其他活動'com.lania.saludandroidte'軟件包,如果沒有,然後聲明它的完整路徑,包括'AndroidManifest' – 2013-05-06 18:57:13

回答

0

您需要聲明你的新活動清單。

<activity android:name="com.lania.saludandroidte.RegisterActivity" /> 
+0

但是,如果我已經這樣做了? – user2355171 2013-05-06 18:54:05

+0

添加清單文件。 – user2355171 2013-05-06 18:56:51

+0

肯定是你的'RegisterActivity'在同一個包中?也許嘗試清洗然後重新運行? – 2013-05-06 18:57:46

0

它告訴你,你需要添加com.lania.saludandroidte.Menu活動。看起來您已註冊com.sanikte.proyecto.Menu,但其包「com.sanikte.proyecto」與實際的Activity包「com.lania.saludandroidte」不匹配。

2

變化這在AndroidManifest.xml中:

<activity android:name="com.sanikte.proyecto.Menu" /> 

這樣:

<activity android:name="com.lania.saludandroidte.Menu" /> 

你用錯誤的包宣佈它。在那裏你說Menu.class它不與全包合格的可以這麼說,因爲在你的LoginActivity.java,如果你看一下導入列表它不com.sanikte.proyecto下的進口,因此Menu.java必須在同一個包LoginActivity.java

相關問題