【问题标题】:Swap function for gridview网格视图的交换功能
【发布时间】:2014-12-11 20:04:01
【问题描述】:

我有一个带有图像的网格视图,并希望在单击图像时允许交换。

这是在 onClickListener 中:

            int blank = 0;
            int click = position;

            for (int i = 0; i < size; i++) {
                if ((Integer)gridView.getChildAt(i).getTag() == size - 1) {
                    blank = i;
                }
            swap();
            gridView.invalidateViews();

这就是交换功能

    private void swap() {
        Bitmap temp = bmparray[click];
        bmparray[click] = bmparray[blank];
        bmparray[blank] = temp;
    }

当我运行时,这是 logcat 给我的:

致命异常:主要 java.lang.NullPointerException

这是交换函数的第一行。有什么问题?

【问题讨论】:

标签: java android gridview onclicklistener


【解决方案1】:

您确定 bmparray[click] 不会过度扩展数组大小吗?

“点击”和“空白”变量也在 OnClickListener 中声明。看起来你应该将这些作为参数传递给交换函数。通常你应该得到一个编译器错误。我猜还有名为click和blank的全局变量。

【讨论】:

    【解决方案2】:

    将代码从交换函数带到调用交换函数的地方为我解决了这个问题

    【讨论】:

      猜你喜欢
      • 2011-10-12
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-28
      相关资源
      最近更新 更多