有没有办法在安卓工作室中更新列表查看项目布局?



我正在制作一个按钮,当我单击他时,listView 中的复选框的可见性将发生变化。 但是,代码似乎按预期运行,但可见度没有增加。 有没有办法更新项目的签证?

mButtonEdit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for(int i = 0 ; i<calanders.size();i++){
View view = mListView.getAdapter().getView(i,null,mListView);
if(mButtonEdit.isSelected()){
print("button is selected");
CheckBox checkBox = view.findViewById(R.id.clockproperties_checkBox);
checkBox.setVisibility(View.GONE);
}else{
print("button is not selected");
CheckBox checkBox = view.findViewById(R.id.clockproperties_checkBox);
checkBox.setVisibility(View.VISIBLE);

}

}
mListView.getAdapter().
if(mButtonEdit.isSelected()){
mButtonEdit.setSelected(false);
}else{
mButtonEdit.setSelected(true);
}
}
});

你永远不应该调用ListAdaptergetView()方法。它应该仅在滚动ListView时由系统调用。相反,您需要通过调用mListView.getAdapter().notifyDataSetChanged()来更新列表。

在适配器中添加一个布尔字段,并在单击按钮时更新其值。

您可以基于数据创建模型/数据类,并保留一个布尔变量以实现复选框可见性。所以默认让它为 false,并在按钮上单击获取列表视图项的位置并将布尔变量更新为 true,然后执行adapter.notifyDataSetChanged()。

您也可以尝试:

((YourAdapter) yourListView.getAdapter()).notifyDataSetChanged();

最新更新