比如说,我这个Gridview很大,一屏只能显示一部分。现在我浏览到中间了,按下home键,再回来。gridview回到了开始的地方。请问如何保存状态啊?

解决方案 »

  1.   

    "Bundle savedInstanceState"可以保存程序上一次关闭(冻结)时的状态。你可以透过覆写 onFreeze 方法(与 onCreate 方法的作用类似) 来保存冻结前的状态。 当程序启动(Activity 重新初始化)时, 会再次呼叫 onCreate 方法,你就能从 savedInstanceState 中得到前一次冻结的状态。可以透过"Bundle"来将这个 Activity 的内容传到下一个 Activity 中。
    楼主可以用savedInstanceState来保存按home时的状态。
      

  2.   


    这个我知道,关键是不知道要保存什么,比如说现在gridview浏览到了第17行,我在savedInstanceState 中要保存什么,如何让程序知道我浏览到了第17行,重新进入的时候,又怎么跳转到第17行的位置
      

  3.   

    取得当前显示的开始和结束位置:
    getFirstVisiblePosition()
    getLastVisiblePosition()
    取得被选中的位置
    getSelectedItemPosition()
    设置被选中的位置
    setSelection(position)试试以上几个方法