交错网格视图上的设置选择是否第一次不起作用?

时间:2014-08-12 07:42:14

标签: android gridview

我希望我的etsy的交错网格视图在所有元素的中间设置选择,如果数据为100则gridview应将其设置为第50个位置。如果我滚动它然后调用它确实有效但它第一次不起作用何时添加数据。

我在这里尝试了几种解决方案,例如清除焦点然后请求从触摸方法,但没有任何帮助。这是我的代码 - :

class LoadDataAsyncTask extends AsyncTask<Void, Void, Void> {


    @Override
    protected Void doInBackground(Void... voids) {
       // my code here
        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        if(isTopListLoaded) {
            productDetailModelArrayList.addAll(0,productDetailModels);
        } else {
            productDetailModelArrayList.addAll(productDetailModels);
        }
        final int scrollPosition = gridView.getFirstVisiblePosition() + AppConstants.API_DATA_LIMIT;

        if(productDetailModelArrayList.size() == productDetailModels.size()) {
            //doesn't work here
            gridView.setSelection(productDetailModels.size());
        } else {
            // works here
            if(gridView.getColumnWidth() <= getResources().getDisplayMetrics().widthPixels) {
                gridView.setSelection(scrollPosition/2);
            } else {
                gridView.setSelection(scrollPosition);
            }
        }
        homeScreenAdapter.notifyDataSetChanged();

    }
}

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我明白了。

以下是我找到https://github.com/etsy/AndroidStaggeredGrid/issues/135

的解决方案

答案 1 :(得分:0)

如果你正在使用Etsy的StaggeredGridView,它目前不支持set Selection。这是问题 https://github.com/etsy/AndroidStaggeredGrid/issues/34