Android Studio-芯片的关闭图标不起任何作用(Java)

Android Studio-芯片的关闭图标不起任何作用(Java),java,android,view,Java,Android,View,我创建了一些芯片,它们的右侧有一个X符号 但当我点击X(打算关闭或移除芯片)时,什么也没发生 我尝试使用方法setOnCloseIconClickListener,但没有效果 我点击X图标,图标的颜色会改变,会出现咔嗒声,但芯片视图仍保留在屏幕上 我也不知道在click listener的回调方法中写什么 for(int i = 0; i<products.length; i++) { //the chip component requires yo

我创建了一些
芯片
,它们的右侧有一个X符号
但当我点击X(打算关闭或移除芯片)时,什么也没发生
我尝试使用方法
setOnCloseIconClickListener
,但没有效果
我点击X图标,图标的颜色会改变,会出现咔嗒声,但芯片视图仍保留在屏幕上
我也不知道在click listener的回调方法中写什么

        for(int i = 0; i<products.length; i++) {
            //the chip component requires your app theme to be Theme.MaterialComponents (or a
            //descendant)
            chips[i] = new Chip(this);
            //ScrollView can only host one direct child
            ll1.addView(chips[i]);
            chips[i].setText(products[i]);
            chips[i].setCloseIconVisible(true);
        }

我找到了解决办法。这是代码:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private EditText et1;
    private ScrollView sv1;
    private LinearLayout ll1;
    private Chip[] chips;

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

        et1 = findViewById(R.id.editText);
        sv1 = findViewById(R.id.scrollView);
        ll1 = new LinearLayout(this);
        ll1.setOrientation(LinearLayout.VERTICAL);
        sv1.addView(ll1);
    }

    public void splitToChips(View v) {
        String content = et1.getText().toString();
        String[] products = content.split(";");

        chips = new Chip[products.length];

        for(int i = 0; i<products.length; i++) {
            chips[i] = new Chip(this);
            ll1.addView(chips[i]);
            chips[i].setText(products[i]);
            chips[i].setCloseIconVisible(true);
            chips[i].setOnCloseIconClickListener(this);
        }
    }

    @Override
    public void onClick(View v) {
        Chip chip = (Chip) v;
        ll1.removeView(chip);
    }
}
public类MainActivity扩展AppCompatActivity实现View.OnClickListener{
私人编辑文本et1;
私有滚动视图sv1;
私人线路布局ll1;
专用芯片[]芯片;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1=findViewById(R.id.editText);
sv1=findViewById(R.id.scrollView);
ll1=新的线性布局(本);
ll1.设置方向(线性布局。垂直);
sv1.addView(ll1);
}
公共空间拆分芯片(视图五){
字符串内容=et1.getText().toString();
String[]products=content.split(“;”);
芯片=新芯片[产品.长度];
对于(int i=0;i
public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private EditText et1;
    private ScrollView sv1;
    private LinearLayout ll1;
    private Chip[] chips;

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

        et1 = findViewById(R.id.editText);
        sv1 = findViewById(R.id.scrollView);
        ll1 = new LinearLayout(this);
        ll1.setOrientation(LinearLayout.VERTICAL);
        sv1.addView(ll1);
    }

    public void splitToChips(View v) {
        String content = et1.getText().toString();
        String[] products = content.split(";");

        chips = new Chip[products.length];

        for(int i = 0; i<products.length; i++) {
            chips[i] = new Chip(this);
            ll1.addView(chips[i]);
            chips[i].setText(products[i]);
            chips[i].setCloseIconVisible(true);
            chips[i].setOnCloseIconClickListener(this);
        }
    }

    @Override
    public void onClick(View v) {
        Chip chip = (Chip) v;
        ll1.removeView(chip);
    }
}