1

ユーザーが項目を選択したら、スピナーから値が返されるようにします。

ボタンを使用して OnClick() で spinner.getSelectedItemPosition() を使用できることはわかっていますが、ユーザーがスピナーの選択肢の中から選択するとすぐに値が返されるようにしたいと考えています。したがって、私は OnItemSelectedListener を使用することを考えていました。

int valueINeed;
subGoalSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            int index = arg0.getSelectedItemPosition();
            //I now want to somehow get the value of the index for use outside of this code block
}

メソッドには戻り値の型があるため、明らかにストレートreturnステートメントを使用することはできません。voidさらに、valueINeed = indexvalueINeed にしないと設定できませんfinal。ユーザーが気が変わって値を再割り当てする必要がある場合はどうなるかわかりません。

ありがとう!

4

2 に答える 2

1

int valueINeed;変数をグローバル変数として宣言するだけです。以下を使用できます。

subGoalSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1,
            int arg2, long arg3) {
        valueINeed = subGoalSpinner.getSelectedItemPosition();
        //I now want to somehow get the value of the index for use outside of this code block
}
于 2013-07-09T20:41:11.717 に答える