Один из параметров, доступных в контекстном меню, изменяет состояние элемента списка. и мне также требуется, чтобы элемент контекстного меню также изменился.
Я могу обновить сам элемент списка, чтобы отразить изменение статуса
однако я не могу заставить элемент контекстного меню измениться обнаружить, что соответствующий элемент данных был изменен
мой код похож на этот в адаптере элемента списка
Код: Выделить всё
override fun getChildView(
groupPosition: Int,
childPosition: Int,
isLastChild: Boolean,
view: View?,
parent: ViewGroup
): View {
var convertView = view
@Suppress("UNCHECKED_CAST")
val section = getGroup(groupPosition) as StickySection
val myData = getChild(groupPosition, childPosition) as MyData
val holder: ChildViewHolder
if (convertView !is MyDataItemUi) {
convertView = MyDataItemUi(parent.context)
holder = ChildViewHolder(convertView)
convertView.setTag(holder)
} else {
holder = convertView.getTag() as ChildViewHolder
}
val isBelongsToCluster = section.sectionInfo.id != NOT_CLUSTERED_MYDATAS_SECTION_ID
holder.view.build(
myData, // THIS IS WHERE THE DATA ITEM IS SET
onMyDataDeletedCallback,
onMyDataProgressCompletedClickCallback,
onAllocateMyDataOnCanvasCallback,
isBelongsToCluster,
myDataCustomButton
)
setupClickListener(holder.view)
setupGeneralMyDataView(holder.view, myData)
return holder.view
}
как я могу обновить элемент данных контекстного меню, чтобы пользовательский интерфейс отражал измененные данные?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ew-adapter