Java 设置gridview中的第一个可见项

Java 设置gridview中的第一个可见项,java,android,gridview,Java,Android,Gridview,我需要让gridview滚动到我活动的Resume上的第一项。它只有垂直滚动 我尝试了以下方法,但没有成功 gridView.setSelection(0); gridView.scrollY(0); 有人能帮忙吗…我会尝试gridView.scrollTo(0,0)或gridView.smoothScrollTo(0,0),具体取决于您的喜好 编辑:用固定代码更新。我已经解决了我的问题。我已经实现了onActivityResult,并使用已知的请求代码调用了用于添加新项的活动。然后返回,结果

我需要让gridview滚动到我活动的Resume上的第一项。它只有垂直滚动

我尝试了以下方法,但没有成功

gridView.setSelection(0);
gridView.scrollY(0);

有人能帮忙吗…

我会尝试gridView.scrollTo(0,0)或gridView.smoothScrollTo(0,0),具体取决于您的喜好


编辑:用固定代码更新。

我已经解决了我的问题。我已经实现了onActivityResult,并使用已知的请求代码调用了用于添加新项的活动。然后返回,结果还可以;我使用gridView.smoothScrollTo(0),它工作起来很有魅力!请参阅下面的代码

Intent intent = new Intent(this, AddNewActivity.class);
startActivityForResult(intent, REQUEST_ADD_NEW);


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    if (resultCode == RESULT_OK)
    {
        if (requestCode == REQUEST_ADD_NEW_CLOTHING_ITEM)
        {
            gridView.smoothScrollToPosition(0);
        }
    }
}

谢谢,但这是一个列表视图。gridView的等价物是.scrollTo(0,0),但仍然不起作用!也许我应该在另一个位置调用它,因为我在恢复时调用它…我也尝试在暂停时调用它,但仍然不起作用。(甚至在调用相应的超级方法之前或之后)您可以在onResume中对GridView执行其他操作吗?如果您可以提供帮助,那么应该在哪里执行。。。??!主要目的是滚动gridView,使其显示将在第一个位置添加的项目,即使添加项目的活动是在滚动不在第一个位置时启动的。我不确定,这就是我问的原因。您是否尝试过在onResume中对GridView执行其他操作,以查看它是否与onResume相关?例如,尝试onResume中的gridView.setVisibility(View.INVISIBLE),看看它是否有任何作用。如果是这样的话,您就知道这与添加和滚动到新项目更相关。如果它没有使GridView不可见,那么您知道这与在onResume中调用它有关。onCreate和onResume方法正在为活动做准备。尽管允许更改视图的视觉参数,但涉及动画或渐变的修改可能无法顺利进行,因为这些方法中的过程尚未完全启动活动。一个好的做法是请求从这些方法中逐渐更改,或者,如果在这些方法中,则通过post(…)或POSTDELIED(…)方法进行更改,这将把操作发布到事件队列。玩这个,试试看。。。