我正在开发一个小游戏,我需要给不同的 ImageViews 不同的 LayoutParams。因此我创建了一个数组 ConstraintLayoutParams。单独更改layoutparams的属性后,所有layoutparams的属性都与上一个相同。所以他们不断地覆盖自己。
p[0] = (ConstraintLayout.LayoutParams) card2.getLayoutParams();
p[0].startToStart=R.id.plazertxt1;
Toast.makeText(getApplicationContext(),String.valueOf(p[0].startToStart),Toast.LENGTH_LONG).show();
// shows 2131165282
p[1] = (ConstraintLayout.LayoutParams) card2.getLayoutParams();
p[1].startToStart=R.id.plazertxt2;
p[2] = (ConstraintLayout.LayoutParams) card2.getLayoutParams();
p[2].startToStart=R.id.plazertxt3;
p[3] = (ConstraintLayout.LayoutParams) card2.getLayoutParams();
p[3].startToStart=R.id.plazertxt4;
Toast.makeText(getApplicationContext(),String.valueOf(p[0].startToStart)+","+String.valueOf(p[1].startToStart)+","+String.valueOf(p[2].startToStart)+","+String.valueOf(p[3].startToStart)+",",Toast.LENGTH_LONG).show();
//shows 2131165285,2131165285,2131165285,2131165285
最后一个 Toast 的预期结果应该是
"2131165282,2131165283,2131165284,2131165285"
但它是
"2131165285,2131165285,2131165285,2131165285"