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

このページが役立つと思います: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 に答える
0

などのJavaプリミティブ配列int[]は長さが一定であり、初期長を超えることはできません。サイズを変更できる配列が必要な場合は、fxを使用する必要があります。List実装。Androidの開発を開始する前に、基本的なJavaについてよく読んでおくことをお勧めします。これにより、長期的には多くの時間を節約できます。

于 2012-08-30T08:04:42.493 に答える