Android:如何将一个活动中列表的滚动范围与属于另一个活动的列表的滚动范围相匹配

Android:如何将一个活动中列表的滚动范围与属于另一个活动的列表的滚动范围相匹配,android,scroll,state,Android,Scroll,State,我有两个活动,在每个活动中,我都有一个使用适配器的列表 我想补充一下这项技能: 匹配两个列表(列表视图)的滚动状态 比如在活动1中,我列出了50只动物,在活动2中,我列出了50种活动中每只动物喜欢吃的食物(一对一) 现在,当我在第一个活动中选择第30个动物,第二个活动打开时,不仅选择了第30个项目(选择器),而且滚动状态也是相同的。 然后在第二个活动中,我再次选择第二个食物项,当返回到第一个活动时,不仅选择并突出显示第二个动物,还滚动到该项目。有两种方法与列表的焦点管理相关。您必须确保列表中也没

我有两个活动,在每个活动中,我都有一个使用适配器的列表

我想补充一下这项技能:

匹配两个列表(列表视图)的滚动状态

比如在活动1中,我列出了50只动物,在活动2中,我列出了50种活动中每只动物喜欢吃的食物(一对一)

现在,当我在第一个活动中选择第30个动物,第二个活动打开时,不仅选择了第30个项目(选择器),而且滚动状态也是相同的。
然后在第二个活动中,我再次选择第二个食物项,当返回到第一个活动时,不仅选择并突出显示第二个动物,还滚动到该项目。

有两种方法与列表的焦点管理相关。您必须确保列表中也没有onSelectedListener,这样就不会有任何活动的意外触发

  • 列表。设置选择(索引);//只需移动到索引
  • 列表。平滑滚动位置(索引);//滚动直到达到索引

  • 在saveInstanceState中为一个活动记录包裹中的索引,并在两个导航方向上将捆绑传递到目标活动。

    在趋势场景中,我们为每个应用程序使用一个或两个活动(一个用于启动屏幕,另一个用于片段或actionBar活动),正如我们在上述活动中所使用的那样,这些列表在各自的片段中。在这种情况下,我们可以在执行事务之前在setArguments中传递包裹。