的Android GridView控件滚动到顶部的项目点击
问题描述:
我已经在Android上一个GridView我用自定义图像填充。当用户点击图像时,它会转到不同的活动。这工作完美。的Android GridView控件滚动到顶部的项目点击
我想解决的唯一的事情是,每当用户作出选择时,GridView向后滚动到顶部。我想保持原来的位置,所以当用户使用GridView返回活动时,它会显示最后一个滚动位置。
可能吗?
我试图把一个监听器上滚动事件,但很明显,最后捕获事件是滚动到顶部,所以我不能用它来移动回到了它应该是滚动。
在此先感谢!
更新:忘了提,很重要的一点。我坚持使用API 7.所以我没有smoothScrollToPosition
。
答
尝试类似如下:
private int _savedGridPosition = 0;
private GridView _gridView;
...
@Override
protected void onSaveInstanceState (Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("grid_position", _gridView.getFirstVisiblePosition());
}
@Override
protected void onRestoreInstanceState (Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
if(savedInstanceState != null && savedInstanceState.containsKey("grid_position")) {
_savedGridPosition = savedInstanceState.getInt("grid_position");
}
}
@Override
protected void onResume() {
_gridView.smoothScrollToPosition(_savedGridPosition);
}
@Override void onPause() {
// set in onPause() too since onRestoreInstanceState() is only
// called when the Activity is destroyed and recreated.
_savedGridPosition = _gridView.getFirstVisiblePosition();
}
感谢很多答案。我忘了提及它的问题,但我不能用'smoothScrollToPosition'因为我坚持我的应用程序API 7 ... :( – 2012-02-15 14:29:11
你坚持'为setSelection()'然后。 – 2012-02-15 14:31:03
会尝试与'setSelection'。谢谢! – 2012-02-15 14:32:56