我有一个问题,我无法理解。根据我的经验,代码遵循它运行的顺序,但在这种情况下似乎不是这种情况。
我有两个UI项,即一个微调器和一个edittext字段,它们是从onCreate()调用的函数中的DB表中填充的。当设置微调器时(使用setSelection),它会启动onItemSelected,它将edittext值设置为默认值。然后,我将edittext字段(使用setText)设置为存储在DB中的值,但不会出现新值。
以下是代码片段:
spinnerdresslength.setSelection(backuplengthoptionid);
edittextskirtshortestlength.setText(backupshortestlength);
事件处理程序如下所示(为简便起见,我简化了它):
spinnerdresslength.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
edittextskirtshortestlength.setText("43");
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});`
现在尽管在微调器setSelection之后有edittextskirtshortestlength.setText(backupshortestlength),但edittext显示的是43而不是backupshortestlength。
当我在我的智慧结束时,你能帮助解决这个问题吗?
谢谢, NicVegas