java - Android GridLayout 获取行/列

标签 java android layout listener grid-layout

我有一个带按钮的 3x3 GridLayout。这些按钮有一个 onTileClicked() 监听器。现在我想获得单击按钮在网格中的位置。这是我的代码:

public void onTileClicked(View view) {
    Button button = (Button) view;
    GridLayout.LayoutParams params = (LayoutParams) button.getLayoutParams();
}

但是我怎样才能得到点击按钮的行和列呢?有 params.columnSpec 但我不知道如何处理它......

最佳答案

没有直接的方法来获取单元格的位置。但是,假设您知道 onItemClick 监听器中的列数和行数,则可以计算被单击按钮的位置:

    public void onItemClick(AdapterView parent, 
         View v, int position, long id) 
    {   
        int row_no=position/3;
        int col_no=position%3;
        .
        .
    }

关于java - Android GridLayout 获取行/列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23154024/

相关文章:

android - 在旋转时更改 MediaController 位置

java - 在 java swings 中切换/导航 jpanels

java - GridLayout 类 setHgap() 和 setVgap() 在哪些组件中创建间隙

java - 如何为 Ubuntu 打包 Java 程序?

java - 用Java开发搜索引擎前端

android - 在 Listview 上调用 invalidateViews() 是否会重新膨胀行 View ?

android - 折叠工具栏锚定 View 在折叠时隐藏

java - 不同机器上solr-8.9.0加载一个csv文件的对比

java - 从java服务器获取pdf页面,并嵌入到现有的html中

android - 当从 Android Studio 签名生成 .apk 时,zipalign 会自动执行吗?