1

実際には、スピナーを作成するためにサーバーで値を取得しました。すべてのスピナーに setOnClickListener を設定しようとしましたが、エラーが発生しました。以下のコードを参照してください。

public static Spinner[] clickspin = new Spinner[nvalue];//nvalue = 2 (get from server)
for(int i=0;i<nvalue;i++)
{
clickspin[i]=new Spinner(this);
        clickspin[i].setLayoutParams(new TableRow.LayoutParams(90/*length of combo box*/, TableRow.LayoutParams.WRAP_CONTENT));
        clickspin[i].setAdapter(adapter1);
        clickspin[i].setId(i);
        clickspin[i].setClickable(true);
        clickspin[i].setOnClickListener(new OnClickListener() 
        {               
            public void onClick(View v) 
            {
                int n = v.getId();

            }
        });
}

すべてのスピナーに setOnClickListener を設定する方法

4

2 に答える 2

3

スピナーでは、 OnItemSelectedListenerを使用します。

clickspin[i].OnItemSelectedListener(new AdapterView.OnItemSelectedListener() {               

    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
    // An item was selected. You can retrieve the selected item using
    // parent.getItemAtPosition(pos)
    }

    public void onNothingSelected(AdapterView<?> parent) {
    // Another interface callback
    }
});

スピナー ガイドを参照してください。

于 2012-08-30T07:19:42.067 に答える
1

あなたのアクティビティに実装onClickListenerします...各アイテムに異なる機能を提供したい場合..それからまた実装しますonItemSelectedListener

于 2012-08-30T07:24:47.363 に答える