Android staggared gridview上的设置选择首次不起作用?

Android staggared gridview上的设置选择首次不起作用?,android,gridview,Android,Gridview,我想让我的etsy的交错网格视图在所有元素的中间设置选择,比如如果数据是100,那么网格视图应该将其设置为第50位。如果我滚动它,然后调用它,它会起作用,但在第一次添加数据时它不会起作用 我在这里尝试了几种解决方案,如清除焦点,然后使用requestfromtouch方法,但没有任何帮助。这是我的代码-: class LoadDataAsyncTask extends AsyncTask<Void, Void, Void> { @Override protecte

我想让我的etsy的交错网格视图在所有元素的中间设置选择,比如如果数据是100,那么网格视图应该将其设置为第50位。如果我滚动它,然后调用它,它会起作用,但在第一次添加数据时它不会起作用

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

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();

    }
}
类LoadDataAsyncTask扩展了AsyncTask{
@凌驾
受保护的空位背景(空位…空位){
//我的代码在这里
返回null;
}
@凌驾
受保护的void onPostExecute(void避免){
super.onPostExecute(避免);
如果(已加载){
productDetailModelArrayList.addAll(0,productDetailModels);
}否则{
productDetailModelArrayList.addAll(productDetailModels);
}
final int scrollPosition=gridView.getFirstVisiblePosition()+AppConstants.API\u DATA\u LIMIT;
如果(productDetailModelArrayList.size()==productDetailModels.size()){
//这里不行
setSelection(productDetailModels.size());
}否则{
//在这里工作

如果(gridView.getColumnWidth()使用Etsy的StaggedGridView,它目前不支持集合选择 我把它弄好了

这是我找到的解决办法