我有一个带有一堆州名的 Spinner。在onCreate()
中,我将其设置为默认值。Spinner 数组中的索引 0 是“Alabama”
String state = "California"; //preset to this
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_state_and_drivers_license);
statesSpinner = (Spinner)findViewById(R.id.states_spinner);
adapter = (ArrayAdapter<String>)statesSpinner.getAdapter();
statesSpinner.setSelection(adapter.getPosition(state));
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, RESULT_CAMERA);
}
但是,在 onResult 之后,Spinner 再次设置为“Alabama”。这意味着它会恢复到数组的索引 0,即使我认为它应该保留其现有的选定值。
编辑:我将 setSelection(position) 放入 onCreate、onResume 和 onDestroy。尽管如此,当我从相机意图返回时,微调器仍会重置并且不会进入我的选择。