首页 > 解决方案 > 位图arrayList到gridView

问题描述

我遇到了位图数组列表和网格视图的问题。我使用 Bitmap.createBitmap 剪切图像并将其存储在 Bitmap imgPic[][] = new Bitmap[3][3] 中。之后,我使用 picArr.add(imgPic[I][j]) 将 imgPic 放入 ArrayList picArr。它可以工作,但在模拟器中它有一些未知的错误。(网格视图中的错误:android.graphics.Bitmap@47dbcb4android) 在此处输入图像描述

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    picArr = new ArrayList<>();

    imageView = findViewById(R.id.imageView);
    imageView.setImageResource(R.drawable.mlp);

    Bitmap orgImage = BitmapFactory.decodeResource(getResources(), R.drawable.mlp);
    orgImage = Bitmap.createScaledBitmap(orgImage, 300, 300, true);
    orgW = orgImage.getWidth();
    orgH = orgImage.getHeight();

    picW = orgW/3;
    picH = orgH/3;
    for(int i=0; i<3; i++) {
        for (int j = 0; j < 3; j++)
            imgPic[i][j] = Bitmap.createBitmap(orgImage, j * picW, i * picH, picW, picH);
    }

    //9번째 그림은 빈칸
    imgPic[2][2] = Bitmap.createBitmap(orgImage, 0, 0, 1, 1);
    ImageView iv = new ImageView(this);

    for(int i=0; i<3; i++) {
        for (int j = 0; j < 3; j++){
            picArr.add(imgPic[i][j]);
        }
    }

    gridView = (GridView) findViewById(R.id.gridView);
    adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, picArr);
    gridView.setAdapter(adapter);
}

标签: androidgridviewbitmapandroid-bitmapandroid-image

解决方案


推荐阅读