逐个删除GridView项目

时间:2015-12-10 07:49:30

标签: android gridview

enter image description here

我想逐个从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();
    }

建议?

2 个答案:

答案 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);
          }

希望它会对你有所帮助!!