我有一个带有 12 个按钮的网格,我想要为这些按钮设置动画。我把它们放在一个向量中,当我打算执行“.startAnimation”时,我总是有“NullPointer”异常,我不知道为什么。
我有这个:
final private int tamGrid=12;
private Button[] botones = new Button[tamGrid];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_juego_grid12);
loopAnimation=AnimationUtils.loadAnimation(this, R.anim.animacionbotongrid12);
//Asociamos los elementos de la vista:
asociateElements();
}
public void asociateElements(){
String buttonID;
int resID;
for(int i=0; i<tamGrid; i++) {
buttonID="boton"+Integer.toString(i);
resID = getResources().getIdentifier(buttonID, "id","butterflydevs.brainstudio");
buttons[i]=(Button)findViewById(resID);
buttons[i].startAnimation(loopAnimation);
}
}
为什么不这样做?错误是
Caused by: java.lang.NullPointerException
在 startAnimation 行中。
我注意到当我尝试这个时也会发生这种情况:
botones[0].setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
//Acciones del botón:
botones[0].setBackgroundColor(Color.RED);
}
}
);
当我在“botones [n]”中使用索引时。有人也遇到过这种情况吗?