Android - 点击按钮更新GridView

时间:2016-03-24 22:31:03

标签: android gridview notifydatasetchanged

我正在尝试设置一个在执行新搜索时会刷新的网格视图。

这是我打电话来设置gridview

    final GridElement_Results adapter = new GridElement_Results(this, savedInstanceState, track_name, album_name, track_num, album_id, album_link);
    grid = (GridView)findViewById(R.id.grid_results);
    grid.setAdapter(adapter);

正如你所看到的,我传递了一堆数组。

单击按钮,将调用getTracks()函数,该函数从服务器获取新数据。数组使用我已经验证的新数据进行更新。

icon_activesearch.setOnClickListener(new View.OnClickListener() {
                                    @Override
                                    public void onClick(View v) {

                                        getTracks("newsearchterm");

                                        adapter.notifyDataSetChanged();
                                        grid.invalidateViews();

                                    }
                                }
    );

然后我调用adapter.notifyDataSetChanged()和grid.invalidateViews()来更新和重绘网格。但显然我在这里做错了。

是不是因为我将适配器设置为最终?要在onClick方法中访问它,我需要将其设置为final。

我应该做些什么才能让它发挥作用。

1 个答案:

答案 0 :(得分:0)

你应该等到新数据获取然后通知适配器,但是你在getTracks()之后立即调用notify而没有任何延迟

相关问题