如何在二维数组中存储图像



我想在2D数组中存储可绘制的图像

ImageView iv1[][] = new ImageView[2][20];
    int mylist[][]={{R.drawable.step_000,R.drawable.step_001,R.drawable.step_002,R.drawable.step_003,R.drawable.step_004,
        R.drawable.step_005,R.drawable.step_006,R.drawable.step_007,R.drawable.step_008,R.drawable.step_009,R.drawable.step_010,
        R.drawable.step_011,R.drawable.step_012,R.drawable.step_013,R.drawable.step_014,R.drawable.step_015,R.drawable.step_016,
        R.drawable.step_017,R.drawable.step_018,R.drawable.step_019}, 
        {R.drawable.step_100,R.drawable.step_101,R.drawable.step_102,R.drawable.step_103,R.drawable.step_104,
        R.drawable.step_105,R.drawable.step_106,R.drawable.step_107,R.drawable.step_108,R.drawable.step_109,R.drawable.step_110,
        R.drawable.step_111,R.drawable.step_112,R.drawable.step_113,R.drawable.step_114,R.drawable.step_115,R.drawable.step_116,
        R.drawable.step_117,R.drawable.step_118,R.drawable.step_119}};
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.data);
    iv=(ImageView)findViewById(R.id.imageView1);
    iv2=(ImageView)findViewById(R.id.left);
    iv3=(ImageView)findViewById(R.id.right);
    iv2.setVisibility(View.INVISIBLE);
    Bundle bundle=getIntent().getExtras();
    String value=bundle.getString("key");
    int step = getIntent().getExtras().getInt("steps");
    Toast.makeText(getApplicationContext(), ""+step,Toast.LENGTH_SHORT).show();
    int a;
    a=step;
    for(int i=0;i<20;i++)
    {
        for(int j=0; j<a; j++)
        iv1[i][j] = (ImageView)findViewById(mylist[i][j]);
    }

    if(value.contentEquals("cristiano"))
    {
    iv.setImageResource(mylist[i][j]);
    }

看起来您正在使用两个for循环正确地设置iv1 ImageView数组中的所有内容。问题是你在屏幕上为整个数组设置了一个ImageView,所以它只会显示一个。你应该尝试做多个imageview的GridLayout,然后逐个设置它们。我知道这样做会很方便,但我认为没有办法使它像那样工作。此外,我认为iv.setImageResource(mylist[i][j]);会给你带来麻烦,因为它在循环之外,不知道ij是什么。

相关内容

  • 没有找到相关文章

最新更新