所以,我有一个包含一些数据的列表(主题和注释)。我在同一行还有一个按钮来删除内容。
我想让按钮在开始时不可见,当我按下操作栏上的按钮时,我希望按钮出现在每一行上。我使用自定义适配器来显示列表。问题是我的按钮只出现在第一行,即使我有5行例如。我认为我必须处理适配器中的问题,但我不知道怎么做?
当我从操作栏按下按钮时,如何让按钮出现在每一行?
谢谢!
答案 0 :(得分:1)
从Activity
开始,您应该在适配器中设置bool,例如:myAdapter.setButtonVisible()
。在您的setter中,您将布尔值设置为true,并在适配器的getView(...)
中使用此布尔值来设置生成视图时按钮的可见性。
诀窍如下:在设置布尔值true后,您必须调用适配器的notifyDataSetChanged()
方法,该方法将告知附加列表视图刷新其中的项目。
答案 1 :(得分:0)
您可以尝试更新可见项目:
for (int i = 0; i <= listView.getLastVisiblePosition() - listView.getFirstVisiblePosition(); i++)
{
//get reference to the view and update it
listView.getChildAt(i);
}
在适配器中,您应该处理状态更改,以便在用户滚动时表现良好。