我的android应用程序中有一个微调器,它的onItemSelected()事件在进入活动时自动触发。
我该如何避免?

最佳答案

我们可以使用一个标志,当微调器被真正触动时启用它。

private boolean isSpinnerTouched = false;

spinner.setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                isSpinnerTouched = true;
                return false;
            }
        });
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> adapter, View arg1,
                        int arg2, long arg3) {
                    if (!isSpinnerTouched) return;
                    // do what you want
                    }
        });

08-04 05:45