gpt4 book ai didi

android - 是否有更多 "Android"方法让我的项目在 GridView 中保持 "Selected"状态?

转载 作者:行者123 更新时间:2023-11-29 21:48:14 25 4
gpt4 key购买 nike

我构建了一个 GridView,由 RelativeLayoutsAdapter 填充,其中包含顶级 ImageViewImageView 直到用户点击该项目才会显示,从而为单个 View 创建“selected”效果。当用户点击不同的项目时,我会在先前选择的 View 上隐藏所选项目。

这工作正常,但我很好奇是否有更原生的 Android 方式来处理这种情况。我没有看到任何类型的 setSelected()(ish)方法,但也许我忽略了什么?

最佳答案

View 的任何子类都应该有一个setSelected() 方法,其中包括RelativeLayout。您应该在适配器中跟踪所选位置,然后在您的 getView() 方法中:

myRelativeLayout.setSelected(selectedPosition == position);

如果您使用处理 state_selected 的选择器,这将起作用。对于您的方法,您可以说:

myImageView.setVisibility(selectedPos == pos ? View.VISIBLE : View.INVISIBLE);

当您注册点击时(在您的OnItemSelectedListenerOnItemClickListener 中,或者您正在使用的任何内容)只需调用适配器的setSelectedPosition() 方法,然后调用适配器的 notifyDatasetChanged() 方法。

关于android - 是否有更多 "Android"方法让我的项目在 GridView 中保持 "Selected"状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15168944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com