ページ上に多数のスピナーを使用して、意図的に起動されたアクティビティがあります。このガイドに従って、スピナーのItemSelectedリスナーを設定しました。問題は、各スピナーの最初のアイテムが基本的に「選択してください」であるため、空白のボックスではないことです。したがって、ItemSelectedリスナーは、「選択してください」がスピナーにあることを検出し、ロードされたのではなく選択されたと見なしているようです。デフォルトでは。理想的には、リスナーが実際の選択が行われたときにのみ検出するようにします。デフォルトの選択を無視する最良の方法は何ですか?
関連するコードは次のとおりです。
ageSpinner = (Spinner) findViewById(R.id.ageSpinner);
ageAdapter = ArrayAdapter.createFromResource
(this, R.array.ageArray, android.R.layout.simple_spinner_item);
ageAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
ageSpinner.setAdapter(ageAdapter);
ageSpinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
public class MyOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
Toast.makeText(parent.getContext(), "The planet is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}