【问题标题】:How to know Gridview last colum in every row android如何知道每行android中的Gridview最后一列
【发布时间】:2015-06-13 06:07:03
【问题描述】:

在适配器的 getView(int position, View convertView, ViewGroup parent) 方法中如何知道位置是否反映了行的最后一列?

例如:

1 2 3 4 5 6 7 8 9

假设这是 GridView,那么元素 3,6 和 9 分别是第 1,2 和 3 行的最后一列。

【问题讨论】:

    标签: android gridview


    【解决方案1】:

    问格子,你有多少列:

    int numColumns = ((GridView) viewGroup).getNumColumns();
    

    之后你可以使用 '%' 操作:

    boolean isLast = (position % numColums) == 0;
    

    【讨论】:

    • 没有不同设备中的列不同 GridView 具有以下属性: android:numColumns="auto_fit" android:stretchMode="columnWidth"
    • 然后使用'int numColumns = ((GridView) viewGroup).getNumColumns();'然后你就可以做'%'操作了
    • 但 getNumColumns() 将返回 -1,即如果 Grid 从未布置过,则为 AUTO_FIT。
    【解决方案2】:

    解决方案:在适配器的 getView() 中调用 mGridView.getNumColumns()。这将给出一行可以拥有的列数。一旦我们有了它,我们就可以很容易地知道哪个位置将是该行的最后一列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-08
      • 2019-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      相关资源
      最近更新 更多