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);
}
}