- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在创建一个 spinner
并向其添加了一个 OnItemSelectedListener
。但是我注意到它在创建时触发。现在我想知道是否有办法忽略/丢弃它。
我知道我可以使用 boolean
值,但这有点“脏”。
最佳答案
这是我的解决方案。
我需要忽略第一个项目选择事件,因为 Route Grade Spinner 和 Route Checkbox 之间存在依赖关系。
我的所有控件都是根据之前对 Activity 的访问设置的。
// Used to count the number of times the onItemSelected gets fired
private int mGradeSelectionCount = 0;
private void attachHandlers() {
OnItemSelectedListener gradeRangeSelectionMadeListener;
gradeRangeSelectionMadeListener = new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapter, View view, int position, long id) {
// If the counter is 0 then we can assume that it is android firing the event
if (mGradeSelectionCount++ < 1) {
return;
}
if (mCmbGradeFrom.getSelectedItemPosition() == 0) {
// Uncheck the Route checkbox
mChkTypeRoute.setChecked(false);
} else {
// Check the Route checkbox
mChkTypeRoute.setChecked(true);
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// Dont care, keep the same values as before
}
};
mCmbGradeFrom.setOnItemSelectedListener(gradeRangeSelectionMadeListener);
mChkTypeRoute.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (!isChecked) {
mCmbGradeFrom.setSelection(0);
mCmbGradeTo.setSelection(0);
}
}
});
}
关于android - 忽略创建时触发的 OnItemSelectedListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2373948/
我有一个 Spinner在我的 Activity当我点击一个项目时,什么也没有发生。 这样做的目的Activity是搜索电话联系人。它可以在 SQLite 中按姓名或电话号码搜索数据库。可以想象,如果
我正在微调器中调用 onItemSelectedListener,但 onItemSelected 内的代码未执行。 这是我的代码: final MaterialBetterSpinner mater
更新: 我发现了这个问题,这个问题可能是由从SQL请求集中获取适配器内容引起的。现在我在这里发布我的 getLockerList() 代码。 我用长字符串测试了该函数 "asdajdnajkdaada
出现这个错误: "The method setOnItemSelectedListener(AdapterView.OnItemSelectedListener) in the type Adapt
我有一个使用自定义 ArrayAdapter 设置的微调器: private static class CustomAdapter extends ArrayAdapter { pub
当我在 Android 中更改屏幕方向时,会调用 Spinner 中的 OnItemSelectedListener。 不仅仅是模拟器,它也发生在实体手机上。 我怎样才能阻止这种情况发生? 干杯。 最
我在对话框中有一个微调器,我试图从微调器中的所选项目中获取值并将其传递给一个字符串变量。我发现的方法是 spinner.setOnItemSelectedListener()。 但是,此方法需要在对话
我正在测试将在工作应用程序中实现的某些功能,但是这个问题让我发疯: 我在 strings.xml 中使用 stringn 数组写入“下拉微调器”,并使用 onItemSelectListener 显示
我怀疑答案是否定的,但我想我会问... 我有一个 Spinner,它需要在用户做出选择时显示一个隐藏的“继续”按钮。但是,由于 OnItemSelectedListener 在第一次呈现微调器时被触发
我找不到如何在单声道中执行此操作的示例。 有什么帮助吗? 编辑:添加代码 foreach (equip item in list) { tr = new TableRow(thi
我在微调器上使用 setOnItemSelectedListener。如果我更改选择但如果我选择已选择的相同项目则不会触发监听器。即使用户选择了已经选择的相同项目,我也需要得到通知。我想使用 setO
我正在创建一个 spinner 并向其添加了一个 OnItemSelectedListener。但是我注意到它在创建时触发。现在我想知道是否有办法忽略/丢弃它。 我知道我可以使用 boolean 值,
您好,我有一个使用 visibility = gone 属性隐藏的微调器。我使用 spinner.performclick() 调用微调列表,这工作正常,除了在微调列表中选择一个项目时我的 onsel
我正在努力创建一个包含两个微调器的 android Activity 。我了解如何使用 onItemSelected 回调函数为一个微调器实现 onItemSelectedListener:
我使用 Android 4.4,并且在实现微调器时遇到问题。问题:从列表中选择项目时,微调器未设置所选项目。 根据this我尝试过的数百个其他帖子似乎没有解决方案对我有用,我是否错过了一些我没有意识到
这是我的代码 [...] final String[] top_spinner_items = new String[35]; for (int i = 0; i spn_topItemsAdapt
我对微调控件有问题。我正在尝试动态设置微调项。最初我在微调器中有一个项目。 当我尝试注册 spinner.setOnItemSelect 监听器时,它会立即调用它的 onItemSelected 方法
检查下图。我想覆盖方法的 arg2 应该是我当前选择的项目的位置,对吧?但是,它始终为 0。我想要正确的位置来做事。有什么建议吗? 这是我的适配器类。 public class PojoSpinner
其他人的问题是不工作,我的问题是它正在工作(但不应该) 我有一个数据模型,它被保存,需要加载回 GUI,Activity。它有一些微调值。 数据被放置到一个通用的可访问类,一个引用持有者。 Activ
我有一个有许多级联微调器的 Activity ,在选择第一个微调器后,第二个微调器初始化并填充数据,在从第二个微调器中选择项目后,第三个微调器初始化并填充数据等等。 对于每个微调器,我都这样创建它们并
我是一名优秀的程序员,十分优秀!