Listview 从适配器更改活动按钮状态
我的活动中有一个ListView,当用户选中/取消选中任何ListView项上的复选框时,我必须更改我的DeleteButton状态(可见-消失) 我试过这样做:Listview 从适配器更改活动按钮状态,listview,button,android-activity,adapter,Listview,Button,Android Activity,Adapter,我的活动中有一个ListView,当用户选中/取消选中任何ListView项上的复选框时,我必须更改我的DeleteButton状态(可见-消失) 我试过这样做: holder.cb_row_adminNotesCheck .setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void
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);
}
但我的Delete按钮没有任何变化。我调试了应用程序,看起来一切正常,但DeleteButton的“识别”功能如下:
activity.getLayoutInflater().inflate(R.layout.adminnotes,
null).findViewById(R.id.ib_adminnotesDeleteMore);
并将其设置为可见/消失
注意deleteButton不是一个行按钮,它来自整个listview的主活动
任何有价值的回答都将受到感谢!:) 也许我错过了smth,但我做到这一点的唯一方法是将DeleteButton变量设置为public和static(内部活动),并在onCheckedChange方法中的适配器中访问它