【发布时间】:2016-01-27 16:59:23
【问题描述】:
我想在屏幕旋转时保持微调器位置
我在这里查看了一些答案,到目前为止有以下答案
Aim - 存储微调器的位置
protected void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
flav1Spinner = (Spinner)findViewById(R.id.Combo_InvChoice1);
Integer flav1 = flav1Spinner.getSelectedItemPosition();
savedInstanceState.putInt("cho1", flav1);
}
瞄准 - 恢复位置
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculation);
Locale.setDefault(Locale.US);
if (savedInstanceState != null){
flav1Spinner = (Spinner)findViewById(R.id.Combo_InvChoice1);
Integer flav1 = savedInstanceState.getInt("cho1");
flav1Spinner.setSelection(flav1);
}
但是,在调试时,我可以看到 Integer Flav1 正在获取分配给它的值并且正在检索数字,但是微调器没有改变它的位置。有什么建议吗?
【问题讨论】:
-
你有微调器的适配器吗?
-
你应该在 setSelection() 之前 setAdapter()。
-
@Blackbelt 在某个时候有一个,因为微调器正在从数据库中的值中填充
-
你可能想在
setAdapter之后打电话给setSelection -
谢谢,但我还要设置适配器吗?