我想逐个从gridView中删除项目。问题是这一切都被删除了一次!
这是我的代码
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
boolean sw = false;
while(!sw)
{
int i=0;
if(!adapter.isEmpty())
{
adapter.removeItem(i);
i+=1;
} else sw = true;
}
}
}, 700);
在适配器中我创建了一个删除函数..这是
public void removeItem(final int position)
{
data.remove(position);
notifyDataSetChanged();
}
建议?
答案 0 :(得分:1)
问题是你是一次性运行所有删除,试试这个
public void removeAllItem()
{
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run()
{
if(!adapter.isEmpty())
{
adapter.removeLastItem();
removeAllItem();
}
}
}, 700);
}
和removeLastItem()
是
public void removeLastItem()
{
int lastIndex = data.size() - 1;
data.remove(lastIndex);
notifyDataSetChanged();
}
将每隔700毫秒删除最后一个索引中的每个项目。
答案 1 :(得分:0)
在类级别声明对象
boolean sw = false;
更改以下代码
while (!sw) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
int i = 0;
if (!adapter.isEmpty()) {
adapter.removeItem(i);
i += 1;
} else sw = true;
}
}, 700);
}
希望它会对你有所帮助!!