2011-08-22 4 views
0

번들을 통해 하나의 활동에서 다른 활동으로 드로어 블 목록을 전달하려고합니다. 프리미티브 배열은 안드로이드에있는 번들을 통해서만 전달 될 수 있다는 가정하에이 작업을 수행하고 있습니다. 그것이 사실인지 아닌지는 확실하지 않지만 그 점은 중요하지 않습니다. 요점은 최선의 노력에도 불구하고 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 안에 코드를 이동

다음은 클래스 A (발신자)에서 내 코드입니다. 활동이 작성되지 않으면 의도를 가져올 수 없으므로 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"); 
    } 

}