【问题标题】:populate gridview from bottom left从左下角填充gridview
【发布时间】:2015-05-16 12:45:39
【问题描述】:

我正在寻找一种方法来填充从左下角穿过和向上的网格视图,而不是从左上角穿过和向下,但也仍然能够使用 pointToPosition(x, y) 来获得正确的元素在数组中(所以左下角为 0)。

我不完全确定这是否可能,但我想它一定是,但是我想不出任何方法来不弄乱正确查找数组索引的能力。任何帮助将不胜感激。

这里是获取用于填充网格的字符串数组的代码:

        int num = 0;

        //populates a standard array from the grid in the JSONObject
        for (int vertical = 0; vertical < puzzleArray.size(); vertical++) //rows
        {
            for (int horizontal = 0; horizontal < puzzleArray.get(0).length(); horizontal++) //columns
            {
                //adds each letter of each row stored in puzzleArray to puzzleInputArray
                puzzleInputArray[num] = puzzleArray.get(vertical).charAt(horizontal) + "";

                num++;
            }
        }

puzzleArray 以 9 个字母的 9 个字符串的形式出现,然后使用上面的代码将它们分成一个单独的数组。

我用标准的 ArrayAdapter 填充 GridView:

            //fill GridView with the puzzle input array from the puzzle class
            ArrayAdapter<String> gridAdapter = new ArrayAdapter<String>(c, R.layout.cell_layout, todaysPuzzle.puzzleInputArray);
            wordsearchGrid.setAdapter(gridAdapter);

而且我需要能够在网格上调用它的等价物:

      case MotionEvent.ACTION_DOWN:
      downX = event.getX();
      downY = event.getY();

      startPosition = wordsearchGrid.pointToPosition((int)downX, (int)downY);
      letterDown = (String) wordsearchGrid.getItemAtPosition(startPosition);

谢谢。

【问题讨论】:

    标签: java android arrays gridview


    【解决方案1】:

    要解决您的问题,您只需使用更先进的技术来创建您的适配器。

    在一行代码中编写适配器非常棒,但要获得将数组调整到 gridView 的更加定制化的体验,您必须自己编写 BaseAdapter。

    从那里开始,这将非常简单,例如,您可以将两个数组作为其成员变量,一个用于存储“真实”索引,一个用于“显示”索引。

    希望我能帮到你:)!

    【讨论】:

    • 我对 Android 编码还很陌生,所以我以前从未制作过自定义适配器,你知道任何体面的指南可以帮助我理解它吗?
    猜你喜欢
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 2014-03-28
    • 2015-02-12
    相关资源
    最近更新 更多