用户从其他活动返回时突出显示上一个选定项目

时间:2011-07-01 08:32:16

标签: android android-activity

Activity1有一个listView。单击一个项目(比如项目3)将启动Activity2。点击后Activity2有一个后退按钮会将用户带回Activity1。我想要实现的是在用户返回Activity1时突出显示项目3,以便用户知道在哪里继续。 (也许我需要将重点放在第3项上。)

编辑:以下代码有效。

   public void onResume()
{
    super.onResume();

     //lastSelectedPosition saved in OnItemClickListener
    lv.setSelection(lastSelectedPosition);
    lv.requestFocusFromTouch();

}

1 个答案:

答案 0 :(得分:2)

很简单。只需在单击列表以启动新活动时,将列表中单击的项目位置保存到字段中。

之后在onResume()方法中使用myList.setSelection(savedPosition);

对于突出显示,好焦点工作有点不好,特别是如果你有一些更复杂的行(按钮,复选框等)和列表旁边的其他ui元素可以带走焦点。我相信实现这一目标的最佳方法是将onResume上的特定项目的背景设置为突出显示的项目,并覆盖onScroll侦听器,以便在滚动列表时将背景更改为默认值。实际上它是一种解决方法,但它只能在100%的情况下与仅关注项目相反。加上也许你可以在视图上添加动画,这样你就可以让它看起来非常漂亮和流畅。