我正在尝试更改Buttons数组的属性,但是我遇到了一些非常奇怪的错误。我试图遍历按钮以编辑每个按钮的height属性,但是当我设置一个for循环(i = 0; i

package com.rollerderby.lineuptracker;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.Button;


public class Setup extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.setup);

        Button[] buttonSkater = new Button[14];
        buttonSkater[0] = (Button) findViewById(R.id.buttonSkater1);
        buttonSkater[1] = (Button) findViewById(R.id.buttonSkater2);
        buttonSkater[2] = (Button) findViewById(R.id.buttonSkater3);

        int screenHeight = getWindowManager().getDefaultDisplay().getHeight();
        int buttonHeight = (screenHeight-60)/14;


        for(int i=0; i<14; i++)
        {
            buttonSkater[i].setHeight(buttonHeight);
        }


    }
}


似乎是一个非常奇怪的错误...我是否遗漏了明显的内容?

(通过为新按钮创建空间来错误地调整数组的大小?)

最佳答案

纯粹基于您的代码示例,您试图访问只有3个索引集(0到2)的数组中的第3到第14个元素,其他(默认情况下)被初始化为null。至于14个按钮,也许它们只是3个按钮的14个实例?

08-03 12:29