如何让 getSelectedView() 在 GridView 中工作?

发布于 2024-10-08 04:14:52 字数 281 浏览 2 评论 0原文

我的布局中有一个 GridView 。活动使用扩展的 BaseAdapter 向其中填充 Foo 视图。

当我在该网格中选择一个项目时,它会变成橙色(因此被选中)。那很好。但我想从 GridView 及其父活动外部访问此选择:从布局层次结构中更高的另一个 View 内。因此我调用了gridView.getSelectedItem()。然而它总是返回null

我怎样才能让它发挥作用?

I have a GridView in a layout. It is populated with Foo views by the activity using a extended BaseAdapter.

When I select an item in this grid it gets orange tinted (thus selected). That's nice. But I want to access this selection from outside the GridView and it's parent activity: from within another View higher in the layout hierarchy. I therefor call upon gridView.getSelectedItem(). However it always returns null.

How could I get this to work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

孤蝉 2024-10-15 04:14:52

“选择”在 AndroidOS 中的含义与在其他 UI 中的含义不同。特别是,当您处于触摸模式时,没有任何“所选项目”。您可能需要使用 单击侦听器 而不是依赖于存在“所选项目”。有关详细信息,请参阅本文

"Selection" doesn't mean the same thing in AndroidOS as it does in other UIs. In particular, there isn't any "selected item" when you're in touch mode. You probably need to use a click listener instead of relying on there being a "selected item". See this article for details.

四叶草在未来唯美盛开 2024-10-15 04:14:52

您可以使用以下命令来获取视图:

View childView = gridView.getChildAt(position - gridView.getFirstVisiblePosition());

You can use the following to get the view:

View childView = gridView.getChildAt(position - gridView.getFirstVisiblePosition());
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文