我想在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]);
会给你带来麻烦,因为它在循环之外,不知道i
或j
是什么。