2012-03-06 61 views
0

我有下面的代碼在點擊後崩潰。當startActivity(...)被註釋掉時,它不會崩潰(但不起作用)。但活動是空的!至於發生了什麼,我無能爲力。取出捆綁包不起作用。使用startActivity時出錯

任何人有任何想法?

在RSSReader.java

public void onItemClick(AdapterView parent, View v, int position, long id) 
{ 
    Log.i(tag,"item clicked! [" + feed.getItem(position).getTitle() + "]"); 

    Intent itemintent = new Intent(this,ShowDescription.class); 

    Bundle b = new Bundle(); 
    b.putString("title", feed.getItem(position).getTitle()); 
    b.putString("description", feed.getItem(position).getDescription()); 
    b.putString("link", feed.getItem(position).getLink()); 
    b.putString("pubdate", feed.getItem(position).getPubDate()); 

    itemintent.putExtra("android.intent.extra.INTENT", b); 

    startActivity(itemintent); 
} 

ShowDescription.java:

import android.app.Activity; 
public class ShowDescription extends Activity 
{ 
} 
+0

什麼是例外? – marcinj 2012-03-06 21:20:27

+0

首先,當您遇到崩潰情況時,您應該始終包含堆棧跟蹤,以便我們瞭解錯誤是什麼。其次,你是否有理由將價值觀放在捆綁中,而不是直接納入意圖? – jsmith 2012-03-06 21:21:20

+0

還包含您的清單文件 - 您定義活動的部分 – marcinj 2012-03-06 21:23:33

回答

1

我想你至少需要在你的活動如下:

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 


    } 
0

請確保您有將ShowDescription活動添加到Manifest文件。

0

你必須申報次活動中您的清單,像這樣:

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Light"> 
    <activity 
     android:label="@string/app_name" 
     android:name=".MainActivity" > 
     <intent-filter > 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:label="@string/app_name" 
     android:name=".ShowDescription" > 
    </activity> 
</application> 

,並確保它是一個有效的活性,希德說:

import android.app.Activity; 
public class ShowDescription extends Activity 
{ 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     //grab your Bundle stuff if you want to handle it that way: 
     String title = savedInstanceState.getString("title"); 
     //etc. 

     //Inflate/create your layouts here and set the contentview. 
     setContentView(showDescLayout); 
    } 
} 
+0

謝謝。不知怎的,一些垃圾被插入到我的清單中。我修復了它。 – user802023 2012-03-07 00:30:24