2012-02-13 30 views
1

我正在開發一個應用程序,其中有位圖列表,我希望將這些位圖放置在gridView中。我有以下代碼。將列表<Bitmap>設置爲Android中的GridView

我的GridView的

活動
public class TestBitmap extends Activity { 

private Bitmap bitmap; 
private ImageView image; 
public static List<Bitmap> splittedBitmaps; 

@Override 
public void onCreate(Bundle bundle){ 
    super.onCreate(bundle); 
    setContentView(R.layout.splitted_grid); 
    splittedBitmaps = getIntent().getParcelableArrayListExtra("split"); 
    GridView gv = (GridView)findViewById(R.layout.splitted_grid); 
    gv.setAdapter(new SplittedImageAdapter(this)); 
} 
} 

,這是我的適配器類

public class SplittedImageAdapter extends BaseAdapter{ 

private Context mContext; 

public SplittedImageAdapter(Context c){ 
    mContext = c; 
} 

@Override 
public int getCount() { 
    return TestBitmap.splittedBitmaps.size(); 
} 

@Override 
public Object getItem(int arg0) { 
    return null; 
} 

@Override 
public long getItemId(int arg0) { 
    return 0; 
} 

@Override 
public View getView(int arg0, View arg1, ViewGroup arg2) { 
    ImageView imageView = new ImageView(mContext); 
    imageView.setLayoutParams(new GridView.LayoutParams(30,30)); 
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
    imageView.setPadding(1, 1, 1, 1); 
    //imageView.setImageResource(TestBitmap.splittedImages.get(arg0)); 
    imageView.setImageBitmap(TestBitmap.splittedBitmaps.get(arg0)); 
    return imageView; 
} 

}

我得到一個NullPointerException在我的Activity類的onCreate方法的最後一行。 請幫我追蹤錯誤。

+0

請從logcat中發表您的堆棧跟蹤 – 2012-02-13 14:51:09

回答

1

在onCreate gb的最後一行爲空。這意味着(GridView)findViewById(R.layout.splitted_grid);返回null,這意味着它沒有找到GridView

我認爲findViewById的說法不正確。 R.layout.splitted_grid是佈局文件的名稱。相反,您應該使用視圖的ID,例如。 R.id.your_view_id_here,如果你有ID在你的佈局XML指定的那樣:

<GridView 
    android:id="@+id/your_view_id_here" 
    (...) 
/> 
+0

非常感謝... – 2012-02-13 16:16:42

相關問題