Java android编程中的数组

Java android编程中的数组,java,android,arrays,Java,Android,Arrays,我是android编程新手。 这是我的问题 我尝试在onCreate()方法之前声明一个数组,如 int[] userselected; 注意,我想使用这个数组来存储用户按下的按钮的ID。 然后我试着用 int noOfElements = userselected.length; 这是一个错误。 然后我把声明改为 int[] userselected = {}; 它起作用了,但是当我试图用代码在这个数组中放入一个id时 userselected[1] = R.id.textview1;

我是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号

请告诉我,我怎样才能得到你需要使用的东西。这将给你一个更灵活的结构,让你的情况

ArrayList<Integer> userselected  = new  ArrayList<Integer>();
userselected.add(R.id.textview1); //To add id.
int noOfElement = userselected.size(); //to get size
ArrayList userselected=new ArrayList();
userselected.add(R.id.textview1)//添加id。
int noOfElement=userselected.size()//大小
您需要使用。这将给你一个更灵活的结构,让你的情况

ArrayList<Integer> userselected  = new  ArrayList<Integer>();
userselected.add(R.id.textview1); //To add id.
int noOfElement = userselected.size(); //to get size
ArrayList userselected=new ArrayList();
userselected.add(R.id.textview1)//添加id。
int noOfElement=userselected.size()//大小

Java基元数组(如
int[]
)的长度是恒定的,不能超过其初始长度。如果你需要一个可以改变大小的数组,你需要使用fx。一个
列表
实现。我建议您在开始开发Android之前先阅读基本Java,从长远来看,这将为您节省大量时间。

Java基本数组,如
int[]
,长度恒定,不能超过其初始长度。如果你需要一个可以改变大小的数组,你需要使用fx。一个
列表
实现。我建议您在开始开发Android之前先阅读基本Java,从长远来看,这将为您节省大量时间。

我认为本页可以帮助您:

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


关于

我认为这一页可以帮助:

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


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

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

然后
a
将为您提供所需的计数:)干杯:)

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

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

然后,
a
将为您提供所需的计数:)干杯:)

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

int[]userselected=newint[4]

您正在创建一个固定大小为4的数组。数组索引是从零开始的,因此其范围从[0]到[3]。我建议您使用ArrayList对象,如top answer状态

执行此操作时:

int[]userselected={}

与此相同:

int[]userselected=new int[0];//空的

您从中得到一个错误:

int[]userselected


因为您没有在内存中分配任何空间,所以数组的大小是固定的。所以当你声明这个数组时

int[]userselected=newint[4]

您正在创建一个固定大小为4的数组。数组索引是从零开始的,因此其范围从[0]到[3]。我建议您使用ArrayList对象,如top answer状态

执行此操作时:

int[]userselected={}

与此相同:

int[]userselected=new int[0];//空的

您从中得到一个错误:

int[]userselected


因为您尚未在内存中分配任何空间

请使用
列表
。它是动态的
列表
。在这个代码示例中,问题是什么?我要求选民。。。。。。首先阅读规则进行否决表决,然后继续。不要在这里显示你的嫉妒行为。用户在哪里要求ArrayList?OP可以建议你使用ArrayList,并给出使用它的理由。这是一个否决投票的好理由,但当你否决投票时,你应该清楚你对OP的想法。我说的对吗?@LalitPoptani抱歉。更新的理由。根据他的要求,阵列将很难实现。ArrayList是他在给出具体案例时应该使用的。是的,伙计!!你的解决方案奏效了。我不知道,为什么你被否决了。但我所需要的只是一个解决方案,您给出了这个代码示例中的问题是什么?我要求选民。。。。。。首先阅读规则进行否决表决,然后继续。不要在这里显示你的嫉妒行为。用户在哪里要求ArrayList?OP可以建议你使用ArrayList,并给出使用它的理由。这是一个否决投票的好理由,但当你否决投票时,你应该清楚你对OP的想法。我说的对吗?@LalitPoptani抱歉。更新的理由。根据他的要求,阵列将很难实现。ArrayList是他在给出具体案例时应该使用的。是的,伙计!!你的解决方案奏效了。我不知道,为什么你被否决了。但我所需要的只是一个解决方案,而你给了它的给予操作符!=未为int类型定义,null。此外,您的循环不正确,我已更正此错误!运算符!=未为int类型定义,null。而且你的循环是不正确的,我纠正了你是对的,但是学习这种方法也不坏,我认为你是对的,但是学习这种方法也不坏,我认为