删除嵌套线性布局内的视图

Deleting a view inside a nested linear layout

我编写了以下应用程序,其中显示了 3 x 4 的按钮网格。网格是通过在父线性布局中嵌套线性布局绘制的。我试图通过引用它的 id 来删除第一个按钮。但是,android studio 表示无法解析 removeViewAt 方法。谁能告诉我删除其中一个按钮的正确方法吗?谢谢。

package com.example.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity {

    private static final int MENU_ITEM_ITEM1 = 1;
    LinearLayout.LayoutParams params;
    LinearLayout linearLayout;
    int _row;
    int column;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        linearLayout = new LinearLayout(this);
        linearLayout.setOrientation(LinearLayout.VERTICAL);  //Can also be done in xml by android:orientation="vertical"
        params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT);
        params.weight = 1.0f;
        params.gravity = Gravity.TOP;
        //layout.setBackgroundColor(0xFFFFFFFF);
        _row=3;
        column=4;
        update();

        (linearLayout.getChildAt(0)).removeViewAt(0);
    }


    public void update(){
        for (int i = 0; i < _row; i++) {
            LinearLayout row = new LinearLayout(this);
            row.setLayoutParams(params);

            for (int j = 0; j < column; j++) {
                Button btnTag = new Button(this);
                btnTag.setLayoutParams(params);
                btnTag.setText("Button " + (j + 1 + (i * column)));
                btnTag.setId(j + 1 + (i * column));
                if ((i+j) % 2 == 0) {
                    btnTag.setBackgroundColor(0xFFFF0000);
                } else {
                    btnTag.setBackgroundColor(0x00000000);
                }
                btnTag.setBackgroundResource(R.drawable.ic_android_black_24dp);
                row.addView(btnTag);
            }
            linearLayout.addView(row);
        }

        setContentView(linearLayout);
    }

方法getChildAt(int index)returns一个View对象。
您应该将其转换为 ViewGroup(或其子 类 之一)以便使用 removeViewAt(int index) 方法:

((LinearLayout) linearLayout.getChildAt(0)).removeViewAt(0)