我的应用程序中有一个 StackView 小部件。基本上,我使用如何创建 StackView 小部件中的教程创建了这个小部件,并根据我的需要对其进行了一些修改。
现在,我想在用户更改顶部元素后立即获取顶部元素以使用此元素调用函数。用户可以“向下滑动”或向上滑动,但我怎样才能获得堆栈上显示的顶部元素?
目前我在 factory-getViewAt-function 中执行此操作,使用类似:
Integer topPosition = 0;
if(getCount() > position+1) {
topPosition = position+1;
}
MyModel myModel = mMyModels.get(topPosition);
activateMyModel(myModel);
但这仅在用户从下向上滑动时才有效。如果用户从上到下滑动,此代码将不起作用,因为 topPosition 对此不正确。
我搜索了很多解决方案,但找不到任何解决方案。我也尝试创建自己的 StackView 来扩展原始 StackView,但如果我想将它用作设备主屏幕上的小部件,这似乎不起作用。
你有什么想法如何做到这一点?