アクティビティに 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);
VISIBLE / GONEに設定します。
PS。deleteButton は行ボタンではなく、リストビュー全体を含むメイン アクティビティからのものであることに注意してください。
貴重な回答に感謝します!:)