Android 在for循环中动态创建按钮以在scrollview中使用

Android 在for循环中动态创建按钮以在scrollview中使用,android,button,dynamic,nullpointerexception,scrollview,Android,Button,Dynamic,Nullpointerexception,Scrollview,我对动态创建按钮有一个问题。我使用了 虽然它确实帮了我很大的忙,但它并不完全符合我的具体情况。我试图在滚动视图中创建一组按钮。这些按钮基本上是根据sqlite数据库查询的答案动态创建的。到目前为止,我还没有实现数据库,但我只是使用一个带有设置变量的for循环来创建按钮。当代码此时运行时,我收到一个空指针异常 myButton[index].setText("Button # "); 这是我为这个项目一直在使用的代码 @Override protected void on

我对动态创建按钮有一个问题。我使用了 虽然它确实帮了我很大的忙,但它并不完全符合我的具体情况。我试图在滚动视图中创建一组按钮。这些按钮基本上是根据sqlite数据库查询的答案动态创建的。到目前为止,我还没有实现数据库,但我只是使用一个带有设置变量的for循环来创建按钮。当代码此时运行时,我收到一个空指针异常

    myButton[index].setText("Button # ");
这是我为这个项目一直在使用的代码

        @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_aquarium);

    //test creating of dynamic buttons
    Button[] myButton = new Button[4];
    LinearLayout scrViewButLay = (LinearLayout) findViewById(R.id.scrollViewLinLay);
    for(int index = 0; index < 4; index++){
        Log.i("ForTag", "Inside for loop");
        Log.i("ForTag", "button length is "+myButton.length);
        myButton[index].setText("Button # ");//null ptr exception error
        Log.i("ForTag", "After set text");
        scrViewButLay.addView(myButton[index]);
        Log.i("ForTag", "After adding to view");
    }
}

您正在初始化用于存储按钮的数组。您仍然需要初始化该数组中的每个单独按钮

for(int index = 0; index < 4; index++) {
    myButton[index] = new Button(this); //initialize the button here
    myButton[index].setText("Button # "); 
}
for(int-index=0;index<4;index++){
myButton[索引]=新建按钮(此);//在此处初始化按钮
myButton[index].setText(“按钮#”);
}

@user2839586没问题。请确保单击“我的答案”旁边的复选框以接受它作为答案。如何在不输入尺寸的情况下执行此操作
for(int index = 0; index < 4; index++) {
    myButton[index] = new Button(this); //initialize the button here
    myButton[index].setText("Button # "); 
}