【问题标题】:How to get getSelectedView() to work in GridView?如何让 getSelectedView() 在 GridView 中工作?
【发布时间】:2016-02-13 00:00:19
【问题描述】:

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

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

我怎样才能让它工作?

【问题讨论】:

    标签: java android selection


    【解决方案1】:

    “选择”在 AndroidOS 中的含义与在其他 UI 中的含义不同。特别是,当您处于触摸模式时,没有任何“选定项目”。您可能需要使用 click listener 而不是依赖于“选定项目”。详情请见this article

    【讨论】:

    • 我发现我应该让子视图与父视图通信是正确的,而不是相反。
    【解决方案2】:

    您可以使用以下方式获取视图:

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

    【讨论】:

      猜你喜欢
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      • 2017-04-01
      • 2015-11-25
      • 1970-01-01
      • 2015-11-04
      • 2020-04-13
      相关资源
      最近更新 更多