java - 在动态创建的卡片视图上,如果按下特定于卡片的删除按钮,如何删除单个卡片?
问题描述
每次按下按钮时都会调用此函数,它会添加一张具有分配给该卡名称的新卡。按下卡片的“x”图标时,如何移除特定卡片?
// 在按钮按下时创建单个卡片的函数
public void cardview1()
{
text2 = v1.findViewById(R.id.dev_name);
dev_id1 = v1.findViewById(R.id.dev_id);
cardview2 = new CardView(getApplicationContext());
cardview2.setFocusable(false);
cardview2.setClickable(false);
layoutparams1 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutparams1.setMargins(19, 83, 19, 0);
lay1 = new LinearLayout(this);
lay1.setOrientation(LinearLayout.VERTICAL);
layoutparams2 = new ConstraintLayout.LayoutParams(ConstraintLayout.LayoutParams.MATCH_PARENT, 115);
lay2 = new LinearLayout(this);
lay2.setLayoutParams(layoutparams2);
lay2.setOrientation(LinearLayout.HORIZONTAL);
layoutparams3 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
lay6 = new LinearLayout(this);
lay6.setWeightSum(12);
lay6.setLayoutParams(layoutparams3);
lay6.setPadding(10,40,0,0);
lay6.setOrientation(LinearLayout.HORIZONTAL);
cardview2.setLayoutParams(layoutparams1);
cardview2.setCardBackgroundColor(Color.parseColor("#2fffffff"));
cardview2.setMinimumHeight(330);
cardview2.addView(lay1);
dev_text1 = new TextView(getApplicationContext());
dev_text1.setText(dev_name1.getText().toString().trim()+" ");
dev_text1.setPadding(20, 15,0,0);
dev_text1.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 26);
dev_text1.setTypeface(null, Typeface.BOLD);
dev_text1.setTextColor(Color.GRAY);
sw0 = new Button(getApplicationContext());
sw0.setText(" X");
sw0.setTextSize(20);
sw0.setTypeface(null, Typeface.BOLD);
sw0.setBackgroundResource(0);
sw0.setTextColor(Color.GRAY);
sw0.setPadding(0,0,0,5);
sw0.setLayoutParams(new LinearLayout.LayoutParams(70, 70));
lay1.addView(lay2);
lay1.addView(lay6);
lay2.addView(dev_text1);
lay2.addView(sw0);
ahomeLayout.removeView(atv);
ahomeLayout.addView(cardview2);
saveInPref();
}
解决方案
您需要在某处存储 ID 或 Cardviwes 本身,然后为删除按钮提供 ID,因此当单击它时,它将为您提供所单击卡的 ID,然后您可以删除该卡。
推荐阅读
- python - 如果日期在当前索引和上一个索引之间,则将值添加到具有“日期时间”索引的数据框的当前行
- c++ - C 字符串作为模板非类型参数适用于 gcc 6.3,但不适用于 Visual Studio 2017(19.16.27027.1 for x64)
- javascript - 使用 JQuery Find 方法在 HTML 表中查找复选框
- odoo - Odoo 继承字段和功能
- linux - 指定 GCC 输出二进制文件的预期 Linux 版本
- dart - 如何从flutter redux中的void方法调用调度动作
- javascript - 角 matMenuTriggerRestoreFocus 不起作用
- reference - Prolog比较变量的方法
- firebase - 如何从 Google 表格访问 Cloud Firestore?
- xcode - 观看应用程序 - 在活动方案下看不到模拟器