2011-08-22 96 views
0

我想通過捆綁將一個活動的列表傳遞給另一個活動。我是這樣做的,假設原始數組只能通過android中的bundle傳遞。不知道這是不是真的,但這不是重點。重點是儘管我盡了最大的努力,但我仍然得到一個NullPointerException。這裏是我的代碼從一個類(發件人):在Android應用程序捆綁問題

private void startSwitcher() { 
      int[] mThumb = { 
        R.drawable.lp_image1_thumb, R.drawable.lp_image2_thumb, R.drawable.lp_image3_thumb, 
        R.drawable.lp_image4_thumb, R.drawable.lp_image5_thumb, R.drawable.lp_image6_thumb, 
        R.drawable.lp_image7_thumb, R.drawable.lp_image8_thumb, R.drawable.lp_image9_thumb, 
        R.drawable.lp_image10_thumb}; 

      Bundle b=new Bundle(); 
      b.putIntArray("mThumbSent", mThumb); 


      Intent startSwitcher = new Intent(A.this, ImageSwitch1.class); 
      startSwitcher.putExtras(b); 
      startActivity(startSwitcher); 

,這裏是在接收器的代碼:

public class ImageSwitch1 extends Activity{ 
Bundle b=this.getIntent().getExtras(); 
    int[] mThumb = b.getIntArray("mThumbSent"); 

Public Void onCreate...(redacted) 
} 
+0

你從哪裏得到的NullPointerException異常到底是什麼? – MrZander

回答

2

移動裏面的onCreate代碼。 this.getIntent()將始終返回NPE,因爲除非創建活動,否則您將無法獲得該意圖。

public class ImageSwitch1 extends Activity{ 

    public void onCreate...(redacted) 
    Bundle b=this.getIntent().getExtras(); 
    int[] mThumb = b.getIntArray("mThumbSent"); 

    } 
+0

謝謝。我正嘗試將這個包傳遞給baseadapter。任何暗示我可以在baseadapter中做到這一點? – benbeel

0

您需要將代碼放入onCreate。

給這一個鏡頭:

public class ImageSwitch1 extends Activity { 

    int[] mThumbs; 

    public void onCreate(Bundle icicle) { 
     mThumbs = getIntent().getExtras().getIntArray("mThumbSent"); 
    } 

}