2011-05-18 50 views
1

我試圖在啓動應用程序時啓動一個活動,但它立即崩潰並出現運行時異常。奇怪的是,一個相同的活動將工作得很好,唯一的區別是活動的名稱。開始意圖時Android運行時異常

這裏是我打電話:

int SignupActivityId = 0; 
Intent intent = new Intent(this, SignupActivity.class); // Crashes 
//Intent intent = new Intent(this, NewGameActivity.class); // Doesn't not crash 
this.startActivityForResult(intent, SignupActivityId); 

下面是每個活動的定義,發現它們實際上是相同的,即使在裝載同一資源的xml:

SignupActivity - 崩潰

package com.example.games.MyGame; 

import android.app.Activity; 
import android.os.Bundle; 

public class SignupActivity extends Activity 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.new_game); 
    } 
} 

NewGameActivity - 不會崩潰

package com.example.games.MyGame; 

import android.app.Activity; 
import android.os.Bundle; 

public class NewGameActivity extends Activity 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.new_game); 
    } 
} 

SignupActivity如何崩潰,但NewGameActivity不?

+6

什麼是異常,並且是清單中定義的活動? – 2011-05-18 21:21:21

+0

你能發佈確切的錯誤消息嗎?你在哪裏解僱你的意圖? – 2011-05-18 21:21:58

+0

@Ryan Olds。我想你可能已經破解了它。其他活動在清單中明確定義,但由於最後時間我忘了將新的「SignupActivity」添加到清單中。我回家時會檢查一下,但我想這就是答案。 – 2011-05-19 08:31:56

回答

1

事實證明,在檢查LogCat後,佈局xml從其中一個視圖中缺少一個android:layout_width。事實證明,這是必需的。

0

有區別。你有int SignupActivityId = 0;

0

你試過startActivity(intent);

+0

是的,結果相同。 – 2011-05-19 08:30:30

1

您是否已將Activity「SignupActivity」定義到AndroidManifest.xml中? = D 使用LogCat獲取異常。