Java 删除嵌套线性布局中的视图

Java 删除嵌套线性布局中的视图,java,android,android-linearlayout,Java,Android,Android Linearlayout,我编写了以下应用程序,其中显示了3×4的按钮网格。通过将linearlayout嵌套在父linearlayout中来绘制栅格。我试图通过引用第一个按钮的id来删除它。但是,android studio说removeViewAt方法无法解析。谁能告诉我删除其中一个按钮的正确方法吗?多谢各位 package com.example.myapplication; import android.os.Bundle; import android.support.v7.app.AppCompatActi

我编写了以下应用程序,其中显示了3×4的按钮网格。通过将linearlayout嵌套在父linearlayout中来绘制栅格。我试图通过引用第一个按钮的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);
    }
package com.example.myapplication;
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入android.view.Gravity;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.widget.Button;
导入android.widget.LinearLayout;
公共类MainActivity扩展了AppCompatActivity{
私有静态最终整数菜单\项\项1=1;
LinearLayout.LayoutParams参数;
线性布局线性布局;
国际行;
int列;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
linearLayout=新的linearLayout(本);
linearLayout.setOrientation(linearLayout.VERTICAL);//也可以通过android在xml中完成:orientation=“VERTICAL”
params=新建LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL\u父级,LinearLayout.LayoutParams.FILL\u父级);
参数重量=1.0f;
params.gravity=gravity.TOP;
//布局.设置背景颜色(0xFFFFFF);
_行=3;
列=4;
更新();
(linearLayout.getChildAt(0)).removeViewAt(0);
}
公共无效更新(){
对于(int i=0;i<\u行;i++){
LinearLayout行=新的LinearLayout(该行);
row.setLayoutParams(参数);
对于(int j=0;j
方法
getChildAt(int-index)
返回一个
视图
对象。
您应该将其强制转换为
ViewGroup
(或其子类之一),以便使用方法
removeViewAt(int index)

((LinearLayout) linearLayout.getChildAt(0)).removeViewAt(0)
在这种情况下,“演员阵容”的含义是什么?你可以准备好这篇有很好解释的帖子