c# - 带有复选框和文本框的微调器在适配器中识别项目检查状态更改时
问题描述
我的 RecylcerViewAdapter 中有一个 Spinner,带有一个 SpinnerAdapter,因为我有 Checkbox - TextView,带有动态项。
我想在我的 RecyclerViewAdapter 中识别,当检查 SpinnerItem 时,在我的 RecyclerViewAdapter 中执行操作。视图工作正常。
我如何添加:
AdditionSpinnerAdapter adapter = new AdditionSpinnerAdapter(context, 0, categoryProductAddition.Product_Additions);
vh.AdditionSpinner.Adapter = adapter;
我的 SpinnerAdapter
namespace AndroidRegFirstApp.Adapter
{
public class AdditionSpinnerAdapter : ArrayAdapter<ProductAddition>
{
private Context mContext;
private List<ProductAddition> additions;
public AdditionSpinnerAdapter(Context context, int resource, List<ProductAddition> objects) :base (context, resource, objects)
{
this.mContext = context;
this.additions = objects;
}
public override View GetDropDownView(int position, View convertView, ViewGroup parent)
{
return this.GetCustomView(position, convertView, parent);
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
return this.GetCustomView(position, convertView, parent);
}
public View GetCustomView(int position, View convertView, ViewGroup parent)
{
LayoutInflater inflater = LayoutInflater.From(mContext);
convertView = inflater.Inflate(Resource.Layout.additionSpinnerItem, null);
TextView AdditionText = convertView.FindViewById<TextView>(Resource.Id.additionText);
CheckBox AdditionSelected = convertView.FindViewById<CheckBox>(Resource.Id.additionSelected);
AdditionText.Text = additions[position].Product_Addition_Name;
AdditionSelected.Checked = additions[position].Product_Addition_Selected;
AdditionSelected.Tag = position;
if (position == 0)
{
AdditionSelected.Visibility = ViewStates.Gone;
}
AdditionSelected.SetOnCheckedChangeListener(new Interface.OnCheckedListener(additions));
return convertView;
}
}
}
我的 OnCheckedListener:
public OnCheckedListener(List<ProductAddition> list)
{
this.additions = list;
}
public void OnCheckedChanged(CompoundButton buttonView, bool isChecked)
{
int position = (int)buttonView.Tag;
this.additions[position].Product_Addition_Selected = isChecked;
}
现在我想当 OnCheckedChanged 改变状态时,我的 RecylcerViewAdapter 中的一个方法调用。
解决方案
推荐阅读
- java - 从 JSpinner 获取日期并放入具有 DATE 格式的 MySQL 数据库列
- mysql - 具有多个值的 FIND_IN_SET
- javascript - 如何增加 Firestore 中的字段?
- sqlite - Sqlite - 带索引的用户定义函数
- elasticsearch - 弹性搜索 6.2 查询未使用过滤器产生正确的结果
- swift - 在 Swift 中请求服务器接收 xmpp 消息
- python - 使用 python、dict 或 list 读取文本文件和格式化数据
- microsoft-teams - Microsoft 团队:Visual Studio 连接器
- jquery - 使用 angularjs-datepicker 将日期添加到表中
- sql-server - 如何重置 SQL Server 表列中的标识?