0

我是android编程的新手。这是我的问题

我试图在 onCreate() 方法之前声明一个数组,例如

int[] userselected;

请注意,我想使用此数组来存储用户按下的按钮的 ID。然后我试图找到没有。这个数组中的元素

int noOfElements = userselected.length;

哪个游戏我一个错误。然后我将声明更改为

int[] userselected = {};

它起作用了,但是当我尝试用代码在这个数组中放入一个 id 时

userselected[1] = R.id.textview1;

它再次给了我一个错误。我也尝试将数组声明为

int[] userselected = new int[4];

但是,当我试图找出已经存储了多少元素时,userselected.length

总是给4号。

请告诉我,我怎样才能得到我想要的

4

5 回答 5

5

您需要使用ArrayList。它将为您提供一个更灵活的结构来提供您的案例。

ArrayList<Integer> userselected  = new  ArrayList<Integer>();
userselected.add(R.id.textview1); //To add id.
int noOfElement = userselected.size(); //to get size
于 2012-08-30T08:04:23.077 回答
1

数组是固定大小的。所以当你声明这个数组时

int[] userselected = new int[4]

您正在创建一个固定大小为 4 的数组。数组索引从零开始,因此它从 [0] 到 [3]。我建议您使用 ArrayList 对象,如最佳答案状态

当你这样做时:

int[] userselected = {};

与此相同:

int[] userselected = new int[0]; // empty

and you got an error from this:

int[] userselected;

因为你没有在内存中分配任何空间

于 2012-08-30T08:30:27.250 回答
0

Java 原始数组(例如int[])的长度是恒定的,并且包含的​​内容不能超过其初始长度。如果你需要一个可以改变大小的数组,你需要使用 fx. 一个List实现。我建议您在开始开发 Android 之前阅读基本的 Java,从长远来看,它会为您节省大量时间。

于 2012-08-30T08:04:42.493 回答
0

我认为这个页面可以提供帮助:http ://www.javaclass.info/classes/java-array/array-examples-demonstration-and-code-snippets.php

在您所做的数组声明中,您说它的大小是 4 个元素,因此 length 方法将始终返回 4。

问候

于 2012-08-30T08:05:29.567 回答
0

将其声明为整数数组,然后将其添加到您的代码中

Integer a=0;
for (int i=0;i>userselected.length;i++)
{
   if(userselected[i]!=null)
    {
      a++;
    }
}

然后a会给你你需要的计数:) 干杯:)

于 2012-08-30T08:06:22.053 回答