2012-08-28 71 views
2

我想要點擊我的按鈕後,我轉到另一頁。但我只是得到錯誤。 這是我的代碼:簡單跳轉到另一頁

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_anime_paradise_t1); 

    Button list = (Button) findViewById(R.id.list); 
    list.setText("List"); 
    list.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      Intent intent = new Intent(AnimeParadiseT1.this, View.class); 
      startActivity(intent); 
     } 
    }); 

View類:

public class View extends Activity{ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.list); 
    } 
} 

它是如此陌生。看看我的logCat太:

08-29 00:12:32.910: D/AndroidRuntime(1582): Shutting down VM 
08-29 00:12:32.910: W/dalvikvm(1582): threadid=1: thread exiting with uncaught exception (group=0x40203560) 
08-29 00:12:32.920: E/AndroidRuntime(1582): FATAL EXCEPTION: main 
08-29 00:12:32.920: E/AndroidRuntime(1582): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.animeparadise/android.view.View}; have you declared this activity in your AndroidManifest.xml? 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at android.app.Activity.startActivityForResult(Activity.java:2827) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at android.app.Activity.startActivity(Activity.java:2933) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at com.animeparadise.AnimeParadiseT1$1.onClick(AnimeParadiseT1.java:29) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at android.view.View.performClick(View.java:2506) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at android.view.View$PerformClick.run(View.java:9112) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at android.os.Handler.handleCallback(Handler.java:587) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at android.os.Handler.dispatchMessage(Handler.java:92) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at android.os.Looper.loop(Looper.java:130) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at android.app.ActivityThread.main(ActivityThread.java:3835) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at java.lang.reflect.Method.invoke(Method.java:507) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
08-29 00:12:32.920: E/AndroidRuntime(1582):  at dalvik.system.NativeStart.main(Native Method) 
08-29 00:12:34.061: I/Process(1582): Sending signal. PID: 1582 SIG: 9 

和一件事更多。我只是將View類定義爲Activity

+2

還要將您的活動的名稱更改爲ViewActivity而不是View。 – slybloty

回答

3

08-29 00:12:32.920:E/AndroidRuntime(。 1582年): android.content.ActivityNotFoundException:無法找到明確的 活動類{com.animeparadise/android.view.View};

檢查import聲明。是Android中的一個現有類(android.view.View)。當您創建Intent時,您可能需要使用View類的全名(例如,com.animeparadise.View.class或其他)。

另外,正如其他人所建議的,您應該重新命名您的活動以避免混淆,並堅持使用單詞Activity(例如,ViewActivity)結束類名的常見做法。

+0

是的,是的。我改變了我的班級名稱,它工作。 – Hosein

2

[編輯]

android.view.View已經存在。這是什麼問題(因此錯誤中的'android.view.View'部分):創建該intent的類包含錯誤的類View

只需將您的View類重命名爲任何內容。而按Ctrl-Shift-O解決您的進口;)

(並確保您的AndroidManifest.xml包括在<application>部分<activity android:name=".WhateverClassNameYouChose"/>

+0

tnx提醒我應用程序中的活動名稱。我談論'''部分。所以,似乎我只能接受一個答案,如果可以的話,我也接受你的答案。 – Hosein

1

添加你的類到AndroidManifest.xml文件,像

<activity 
      android:name=".View" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

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

OR

入住這link

+0

冗餘答案。你應該添加它作爲評論。 – slybloty

+0

是的,我敢打賭,我編輯了我的答案,因爲這不是問題。仔細查看錯誤,它實際上是在尋找錯誤的'查看'類 – Jochem

+1

@slybloty是的,我編輯了我的答案 – Numair

1

你應該添加這樣的事情你AndroidManifest文件:

<activity 
    android:name = ".View" 
    android:label="my new Activity" > 
</activity> 

此外,我建議你改變你的活力的名稱,因爲View是Android上非常重要的類(View)。

希望它有幫助!

+0

tnx作爲回覆。我之前添加了它。 – Hosein

0

將仔細閱讀logcat的一個習慣中,錯誤的是,

ActivityNotFoundException: Unable to find explicit activity class {com.animeparadise/android.view.View}; have you declared this activity in your AndroidManifest.xml? 

這是因爲你havnt宣佈在Android清單文件的活動,

寫這段代碼在你的Android清單文件,

<activity 
      android:name=".View" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.VIEW" /> 

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

如果它不工作,嘗試改變活動的名稱,因爲視圖是一個預定義的類和兩個班的名稱可能會導致衝突..