gpt4 book ai didi

java - 如何修复未使用微调器自定义适配器中的代码选中复选框的问题?

转载 作者:行者123 更新时间:2023-12-02 04:39:28 24 4
gpt4 key购买 nike

我正在使用自定义适配器设置带有“文本和复选框”的自定义微调器。如何设置选中用户已选择的某些复选框?单击复选框时值会正确显示。

我正在从模型类中设置选定的复选框,但它没有被选中。它是 true 并且对象的模型类仅具有值“True”。我还使用“setSelected”和“setChecked”进行了检查,但两者都给出了相同的输出。

public View getCustomView(final int position, View convertView, ViewGroup parent) {

final ViewHolder holder;
if (convertView == null) {
LayoutInflater layoutInflator = LayoutInflater.from(thisActivity);
convertView = layoutInflator.inflate(R.layout.spinner_dropdown_with_checkbox, null);
holder = new ViewHolder();
holder.mTextView = (TextView) convertView.findViewById(R.id.text);
holder.mCheckBox = (CheckBox) convertView.findViewById(R.id.checkbox);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}


holder.mTextView.setText(listState.get(position).getTitle());

// To check weather checked event fire from getview() or user input
isFromView = true;


//holder.mCheckBox.setChecked(listState.get(position).isSelected());
isFromView = false;

Logger.infoLog("adapter vehicleMovementSubEdit= =>" + vehicleMovementSubEdit);

Logger.infoLog("enteredLaneIdList string ==>" + selectedReasonsList.toString());


holder.mCheckBox.setVisibility(View.VISIBLE);

holder.mCheckBox.setTag(position);


// holder.mCheckBox.setChecked(listState.get(position).getChecked());

Logger.infoLog("listState.get(position).getId() ==>" + listState.get(position).getId());
Logger.infoLog("selectedReasonsList.contains(listState.get(position).getId()) ==>" + selectedReasonsList.contains(listState.get(position).getId()));

if (selectedReasonsList.contains(listState.get(position).getId())) {

listState.get(position).setSelected(true);

Logger.infoLog("condition true ==>");

if (listState.get(position).getChecked()) {
Logger.infoLog("double condition true ==>");
holder.mCheckBox.setChecked(listState.get(position).isSelected());

}
}else{
Logger.infoLog("condition false ==>");
}
}

最佳答案

如果它们被选中,但没有在视觉上显示出来,您可能需要戳它们。

View v = getView();

if (v != null)
{
v.jumpDrawablesToCurrentState();
}

关于java - 如何修复未使用微调器自定义适配器中的代码选中复选框的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56527097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com