我的 Activity 中有一个 ListView,当用户选中/取消选中任何 ListView 项目上的复选框时,我必须更改我的 DeleteButton 状态(VISIBLE - GONE)。
我试着做这样的事情:
holder.cb_row_adminNotesCheck
.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
int getPosition = (Integer) buttonView.getTag();
mNotesList.get(getPosition).setSelected(isChecked);
if (isChecked) {
map.put(getPosition, true);
} else {
map.remove(getPosition);
}
setDeleteButtonVisibility();
}
});
..
private void setDeleteButtonVisibility() {
LayoutInflater inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Button deleteButton = (Button) inflater.inflate(R.layout.adminnotes,
null).findViewById(R.id.ib_adminnotesDeleteMore);
deleteButton.setVisibility(statesMap.size() > 0 ? View.VISIBLE : View.GONE);
}
但我的 DeleteButton 没有任何反应。我调试了应用程序,一切似乎都很好,但是 DeleteButton 的“识别”:
activity.getLayoutInflater().inflate(R.layout.adminnotes,
null).findViewById(R.id.ib_adminnotesDeleteMore);
并将其设置为可见/消失。
PS。请注意,deleteButton 不是行按钮,它来自整个列表视图的主要活动。
任何有价值的答案将不胜感激!:)