2014-08-31 57 views
0

所以我有一些麻煩,使用多個類只有一個XML文件。我想要做的是我有一個難以選擇的難度越高,用戶在遊戲中的時間越少。Android:多個類使用相同的XML佈局

我已經成功地設置了我的正常困難,從xml文件中點擊按鈕加載。爲了節省製作多個xml文件以簡化和其他困難,我創建了一個時間更少的類,並將其與setContentView(R.layout.activity_main);關聯起來。一次只有一個類似乎能夠將contentview設置爲一個xml文件。即使相同的代碼難以正常工作,一旦點擊簡單按鈕,應用程序仍會崩潰。

調用每個類的代碼如下:

private void setButtonOnClickListeners(){ 
     normalBut.setOnClickListener(new OnClickListener(){ 
      @Override 
      public void onClick(View v) { 
       Intent playgameN = new Intent(getApplicationContext(),MainActivity.class); 
        startActivity(playgameN); 

      } 
     }); 
     easyBut.setOnClickListener(new OnClickListener(){ 
       @Override 
       public void onClick(View v) { 
        Intent playgameE = new Intent(getApplicationContext(),EasyMain.class); 
         startActivity(playgameE); 


       } 
      }); 

此代碼的工作成功,但是,容易按下按鈕崩潰。

easy class和normal class都有setContentView(R.layout.activity_main);在各自的創造。

日誌我有當按鈕導致崩潰如下:

01-07 20:29:48.630: I/Adreno200-EGLSUB(23442): <ConfigWindowMatch:2081>: Format RGBA_8888. 
01-07 20:29:48.630: D/memalloc(23442): /dev/pmem: Mapped buffer base:0x51851000 size:4915200 offset:4300800 fd:67 
01-07 20:29:48.780: D/memalloc(23442): /dev/pmem: Mapped buffer base:0x51f78000 size:1228800 offset:614400 fd:70 
01-07 20:29:50.790: I/Adreno200-EGLSUB(23442): <ConfigWindowMatch:2081>: Format RGBA_8888. 
01-07 20:29:50.800: D/memalloc(23442): /dev/pmem: Mapped buffer base:0x522a4000 size:1843200 offset:1228800 fd:73 
01-07 20:29:50.820: D/memalloc(23442): /dev/pmem: Mapped buffer base:0x52466000 size:4300800 offset:3686400 fd:79 
01-07 20:29:50.870: D/memalloc(23442): /dev/pmem: Unmapping buffer base:0x51851000 size:4915200 offset:4300800 
01-07 20:29:50.870: D/memalloc(23442): /dev/pmem: Unmapping buffer base:0x51f78000 size:1228800 offset:614400 
01-07 20:29:52.610: D/memalloc(23442): /dev/pmem: Mapped buffer base:0x51751000 size:1228800 offset:614400 fd:64 
01-07 20:29:52.700: W/dalvikvm(23442): threadid=1: thread exiting with uncaught exception (group=0x40af09f0) 
01-07 20:29:52.710: E/AndroidRuntime(23442): FATAL EXCEPTION: main 
01-07 20:29:52.710: E/AndroidRuntime(23442): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.phil3992.colourguess/com.phil3992.colourguess.PractEnd}; have you declared this activity in your AndroidManifest.xml? 
01-07 20:29:52.710: E/AndroidRuntime(23442): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1508) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1384) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at android.app.Activity.startActivityForResult(Activity.java:3195) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at android.app.Activity.startActivity(Activity.java:3302) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at com.phil3992.colourguess.dif$2.onClick(dif.java:38) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at android.view.View.performClick(View.java:3528) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at android.view.View$PerformClick.run(View.java:14235) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at android.os.Handler.handleCallback(Handler.java:605) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at android.os.Handler.dispatchMessage(Handler.java:92) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at android.os.Looper.loop(Looper.java:137) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at android.app.ActivityThread.main(ActivityThread.java:4424) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at java.lang.reflect.Method.invokeNative(Native Method) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at java.lang.reflect.Method.invoke(Method.java:511) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) 
01-07 20:29:52.710: E/AndroidRuntime(23442): at dalvik.system.NativeStart.main(Native Method) 

我怎樣才能得到它所以我所有的類可以在同一版面個人跑的時候叫什麼?這真的讓我感到困惑的代碼工作完美一類而不是其他從而導致我相信setContent是問題的原因

UPDATE:

清單:

類被聲明,像這樣:

<activity 
      android:name=".EasyMain" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait"> 

     </activity> 
+0

錯誤是不言自明的我猜ActivityNotFoundException:無法找到顯式活動類{com.phil3992.colourguess/com.phil3992.colourguess.PractEnd};您是否在AndroidManifest.xml中聲明瞭此活動? – bhargavg 2014-08-31 13:56:04

+0

發佈您的androidManifest文件 – Jamil 2014-08-31 13:57:33

+0

您是否在AndroidManifest中聲明瞭EasyMain類? xml文件 – Jamil 2014-08-31 13:58:04

回答

1

您必須聲明你的活動在AndroidManifest,錯誤的是具體的:它試圖找到所謂的「PractEnd」的活動,但你只有「EasyMain」在你的清單中聲明。

+0

我似乎永遠不會發現我的錯別字,這是一個古老的類 – Phil3992 2014-08-31 14:28:30