0
int nvalue=2;
Spinner[] spinner = new Spinner[nvalue];
spinner[].setonitem?

setOnItemSelectedListener スピナーのアレイがあり、すべてのスピナーに使用したいのですが、setOnItemSelectedListenerアレイスピナーに使用するにはどうすればよいですか?

spinner[0].setOnItemSelectedListener(new OnItemSelectedListener() 
    {
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) 
        {
        }
        public void onNothingSelected(AdapterView<?> arg0) 
        {
            // TODO Auto-generated method stub              
        }

    }); 

エラーが表示されます

4

2 に答える 2

0

配列内のスピナーを初期化したのに、コード スニペットを追加しなかっただけですか? すべてのスピナーに 1 つのリスナーを設定できますが、xml からインフレートするか、Java で作成して初期化する必要があります。

乾杯、ティム

于 2012-08-22T09:14:15.737 に答える
0

それがすべてのコードである場合、実際のスピナーをインスタンス化していないように見えます。行Spinner[] spinner = new Spinner[nvalue];はスピナーの配列をインスタンス化しますが、Spinnerこの時点での配列内の各値はnullデフォルトです。setOnItemSelectedListener()したがって、null 値を呼び出そうとすると、null ポインター例外がスローされます。したがって、spinner[0] = new Spinner(context)新しいSpinnerインスタンスを作成してから呼び出すなどの操作を行う必要がありますspinner[0].setOnItemSelectedListener()

EDIT:Timによってすでに回答されています:-)

于 2012-08-22T09:21:22.670 に答える