我需要在两个活动中使用相同的ArrayAdapter。在MainActivity中,我只需要显示带有isConsumido()= true的项目,而在另一个活动中我需要显示所有项目。
我的MainActivity适配器:
final ArrayAdapter<ItemCultural> arrayAdapterOrdenado = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, regraDeNegocioSingleton.getListaDeItensSingleton().getListaDeItensCulturaisOrdenados());
现在,我正在使用两个适配器,但是当我在TelaCadastrados的一个适配器项中检查isConsumido()时,MainActivity中的相同项目需要变为不可见,当我在TelaCadastrados上删除项目时,需要删除相同的项目关于MainActivity。
我的TelaCadastrados适配器:
final ArrayAdapter<ItemCultural> arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_expandable_list_item_1, regraDeNegocioSingleton.getListaDeItensSingleton().getListaDeItensCulturais());
答案 0 :(得分:1)
您应该使用2个适配器,但它们可以有一个公共数据集,因此当您更改某些内容时,它会同时影响两个适配器。但请记住在两个适配器中调用notifyDataSetChanged()。
答案 1 :(得分:1)
不共享适配器,共享基础数据集。您有数据对象的列表,并且适配器包装该列表。共享列表,而不是适配器。
您的"serverTemplates":[
{
"sequence":"1",
}
逻辑是适配器的属性(构造函数参数)。您必须创建一个自定义适配器来添加该行为。
您可以在应用程序类中存储isConsumido() = true
列表,因此在每个活动中,您都可以执行类似的操作,
ItemCultural
有人可能会告诉您将数据存储在静态中。不要那样做。