【发布时间】:2014-05-04 05:59:15
【问题描述】:
其他人有问题,因为它不起作用,我有它正在工作的问题(它不应该)
我有一个数据模型,已保存,需要加载回GUI,Activity。它有一些微调值。
数据被放置到一个通用的可访问类,一个引用持有者。
活动的 onCreate 它将检查是否处于编辑模式:
editMode = getIntent().getBooleanExtra(EDIT_MODE_KEY, false);
它将从 xml 加载 UI 元素,并开始选择、填充值。 在编辑模式和创建模式下,它应该选择具有数据模型的值。 在运行时(在 onResume() 之后)有一些工作流程:是在 spinner1 处选择了某些东西,而不是应该刷新 spinner2 适配器内容等等。
普通的.setSelection(positiontoSelect); 不起作用,所以我添加了一个延迟的帖子,现在可以正常工作了。
我的问题是:我想为临时删除选择侦听器,调用选择并添加回侦听器。
这里是代码,需要修改:
if (editedTimezonePosition > -1) {
final int positiontoSelect = editedTimezonePosition;
new Handler().postDelayed(new Runnable() {
public void run() {
OnItemSelectedListener listener = spSelectTimezone.getOnItemSelectedListener();
spSelectTimezone.setOnItemSelectedListener(null);
spSelectTimezone.setSelection(positiontoSelect);
spSelectTimezone.setOnItemSelectedListener(listener);
}
}, 250);
}
将侦听器设置为 null 无效:我正在回调我的侦听器方法。
如果您有任何解决方法的想法,请分享!
【问题讨论】:
标签: android android-spinner android-2.3-gingerbread