カスタム列挙型クラスがあります:
public static enum Frequency_Unit{
MINUTES("Minutes", 0),
HOURS("Hours", 1),
DAYS("Days", 2),
WEEKS("Weeks", 3),
MONTHS("Months", 4),
YEARS("Years", 5);
private String stringValue;
private int intValue;
private Frequency_Unit(String toString, int value) {
this.stringValue = toString;
this.intValue = value;
}
@Override
public String toString() {
return stringValue;
}
}
私はそれを使ってスピナーをセットアップしました:
spinner_frequency = (Spinner) findViewById(R.id.spinner_repeat_frequency);
spinner_frequency.setAdapter(new ArrayAdapter<Constants.Frequency_Unit>(this,
android.R.layout.simple_spinner_item, Constants.Frequency_Unit.values()));
次に、onItemSelectedListener を使用して数値を取得します (つまり、ユーザーが「時間」を選択した場合は 1)。
spinner_frequency.setOnItemSelectedListener(spinner_frequency_listener);
しかし、リスナー自体の中で、その値を取得する方法がわかりません。
OnItemSelectedListener spinner_frequency_listener = new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
if (parent.getChildCount() > 0){
int repeat_frequency = //**VALUE SHOULD BE HERE**
}
}
// Default line, when nothing is selected
public void onNothingSelected(AdapterView<?> arg0) {
}
};
どうすればそれができますか?