2012-05-11 85 views
0

我正在學習android開發。我創建了一個由按鈕(id:button1)組成的簡單佈局。我添加了一個OnClickListener到這個按鈕,當點擊它時,顯示下一頁(佈局)。代碼中似乎沒有錯誤,但是當我運行它時,它只會崩潰。我嘗試使用Android 2.3.3和2.2模擬器,但沒有成功。當我註釋掉onclicklistener部分時,應用程序運行。 我通過各種網站和問題進行搜索,但沒有成功。 這裏是Java代碼:OnClickListener崩潰應用程序

package com.sid.next; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class mySplash extends Activity { 
    /** Called when the activity is first created. */ 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     final Button b1 = (Button)findViewById(R.id.button1); 
     b1.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 
       // TODO Auto-generated method stub 
       startActivity(new Intent("com.sid.next.SHOWMENU")); 
      } 
     }); 

    } 
} 

EDIT1: stacktrace

EDIT2:main.xml

EDIT3:解決!]我沒有任何內容查看集爲myMenu.java活動。不管怎麼說,多謝拉!

edit4:改變android.R.id.button1R.id.button1

+3

如何張貼堆棧跟蹤? –

+0

該怎麼做?我是eclipse/java的新手。 – Siddhant

+0

嗨,什麼是「SHOWMENU」?活動&類? –

回答

1

好的。所以最後我想到了我自己! 我沒有爲myMenu.java類設置任何contentView。

也改變了android.R.id.button1R.id.按鈕1。 (來源:伊姆蘭林蛙)

謝謝大家!

0

如果SHOWMENU是一個活動,然後在清單文件做聲明。

由給定的數據,我認爲這是你剩下的選擇。

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

添加<application > </application>標籤裏面你AndroidManifest.xml文件

只需複製並粘貼到您的XML

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" > 
    <activity 
     android:name="com.sid.next.SHOWMENU" 
     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.sid.next.SHOWMENU" 
     android:label="@string/app_name" /> 
</application> 
+0

我已經做到了 這裏是我的清單文件: 「<活動 機器人:名字= 「MYMENU。」 機器人:標籤= 「@字符串/ APP_NAME」> <意圖過濾器> <操作機器人: NAME = 「com.sid.next.SHOWMENU」/> <類別機器人:名稱= 「android.intent.category.DEFAULT」/> ' – Siddhant

+0

其中i看不到。 。 – Bhavin

+0

http://pastebin.com/vGxq5itW – Siddhant

0

Rathter調用活動這樣

startActivity(new Intent("com.sid.next.SHOWMENU")); 

嘗試這種方式

Intent g = new Intent(new Intent(mySplash .this, SHOWMENU.class)); 
      startActivity(g); 
+0

nope。應用仍然崩潰。 – Siddhant

+0

點擊按鈕時它崩潰。 – Siddhant

+0

你使用了與我給你相同的代碼 –

0

試試這個

Intent i = new Intent(new Intent(CURRENT_SCREEN_NAME.this, NEXT_SCREEN_NAME.class)); 
startActivity(i); 

,不要忘了在清單中的活動下寫這個。

<activity android:name=".NEXT_SCREEN_NAME" ></activity> 
+0

不。點擊按鈕時應用程序崩潰。 – Siddhant

+0

如果在清單應用程序中未定義下一個活動,那麼當您單擊按鈕時將會崩潰。 – sachi

+0

[解決!]我沒有爲myMenu.java活動設置任何contentview。不管怎麼說,多謝拉! – Siddhant

1

替換

final Button b1 = (Button)findViewById(android.R.id.button1); 

通過:

final Button b1 = (Button)findViewById(R.id.button1); 

即替換android.R通過ř

+0

完成...但沒有成功 – Siddhant

+0

[解決!]我沒有爲myMenu.java活動設置任何contentview。不管怎麼說,多謝拉! – Siddhant

+0

這很好,你還在使用** android.R **還是** R **? –