【问题标题】:Android activity not holding place.Android 活动没有举行。
【发布时间】:2015-07-01 14:51:41
【问题描述】:

我对 android 有点陌生,我正在关注 Lynda.com 上的谷歌开发博客和教程,我遇到了一个我似乎无法找到解决方案的问题。

我有一个充满项目的 ListView,点击它会加载一个新的 Activity。 所有这些都按预期工作。但是当我重新点击新活动时,父项会加载,就好像它是全新的一样。返回列表视图的顶部。

假设我向下滚动到某个地方的中间。我单击一个项目,我得到任何结果,我回到父项,然后我再次回到列表项 (0)。

查看图片:http://imgur.com/CuNuQe0

我将如何保持它在背压上的位置?

谢谢

【问题讨论】:

标签: android


【解决方案1】:

你可以通过这个帖子帮助你自己:Programmatically scroll to a specific position in an Android ListView

您应该记住选择元素时所处的位置。当您返回时,您应该使用以下命令设置该位置:

getListView().setSelection(21);

【讨论】:

  • 同意请添加,他还需要先保存选择:)
  • 我回家后试试这个。非常感谢:)
【解决方案2】:

我遇到了同样的问题,找到了解决方案here
这个想法是在退出活动时保存 listView 的状态,然后将其恢复:

Parcelable state;

@Override
public void onPause(){
    state = yourListView.onSaveInstanceState();
    super.onPause();
}

@Override
public void onResume(){
    //reload data if needed
    if(state != null) {
        yourListView.onRestoreInstanceState(state);
        state = null;
    }
    super.onResume();
}

希望对你有帮助!

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
  • 感谢您的建议!
猜你喜欢
  • 1970-01-01
  • 2012-08-15
  • 1970-01-01
  • 2012-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-08
相关资源
最近更新 更多