fix setOnIndexChangedListener