【发布时间】:2016-02-13 00:00:19
【问题描述】:
我在布局中有一个GridView。它由活动使用扩展的BaseAdapter 填充Foo 视图。
当我在这个网格中选择一个项目时,它会变成橙色(因此被选中)。那很好。但我想从 GridView 外部访问此选择,它是父活动:从布局层次结构中更高的另一个 View 内。我因此呼吁gridView.getSelectedItem()。但是它总是返回null。
我怎样才能让它工作?
【问题讨论】:
我在布局中有一个GridView。它由活动使用扩展的BaseAdapter 填充Foo 视图。
当我在这个网格中选择一个项目时,它会变成橙色(因此被选中)。那很好。但我想从 GridView 外部访问此选择,它是父活动:从布局层次结构中更高的另一个 View 内。我因此呼吁gridView.getSelectedItem()。但是它总是返回null。
我怎样才能让它工作?
【问题讨论】:
“选择”在 AndroidOS 中的含义与在其他 UI 中的含义不同。特别是,当您处于触摸模式时,没有任何“选定项目”。您可能需要使用 click listener 而不是依赖于“选定项目”。详情请见this article。
【讨论】:
您可以使用以下方式获取视图:
View childView = gridView.getChildAt(position - gridView.getFirstVisiblePosition());
【讨论】: