スピナーが最初にクリックされたら、onclicklistenerを実装したいと思います。
findViewById(R.id.spinner01)はAdapterViewを返しますが、これを使用してonClickListenerを実装することはできません。
AdapterViewが表示される前にレイアウトに表示される実際のボタンスタイルの灰色のインスタンスのビューID(AdapterView以外のIDなど)を判別する方法はありますか?
スピナーが最初にクリックされたら、onclicklistenerを実装したいと思います。
findViewById(R.id.spinner01)はAdapterViewを返しますが、これを使用してonClickListenerを実装することはできません。
AdapterViewが表示される前にレイアウトに表示される実際のボタンスタイルの灰色のインスタンスのビューID(AdapterView以外のIDなど)を判別する方法はありますか?
XML で Spinner の android:id を参照すると、findViewById で取得したビューは、実際には Spinner オブジェクトを返します。最初にクリックされたときに、vipin または匿名リスナーで示されるように、スピナーに onClickListener を与えるだけです。
Spinner spinner = (Spinner) findViewById(R.id.YOUR_SPINNER_ID);
spinner.setOnClickListener(new OnClickListener() );
onClickListener に onClick 関数を実装します (Eclipse によって自動的に生成されます。
これを試して
public class yourActivity extends Activity implements OnClickListener
{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(RESOURCE_ID);
Spinner spin = (Spinner)findViewById(R.id.spinner_id);
spin.setOnClickListener(this);
}
public void onClick(View arg0) {
if(arg0.getId()==R.id.spinner_id)//arg0.getId() will return you id of spinner {
//your code
}
}
}