我正在开发一个Android应用程序,在注册忘记密码之后询问安全问题,总共有10个问题。用户可以选择任何3。 我有3个Spinner 3个问题。一旦用户从第一个微调器中选择问题,第二个和第三个微调器就不应该在它们的列表中有它们。请帮我禁用或从列表中删除它。
活动的屏幕截图
答案 0 :(得分:0)
我假设您正在为Spinners使用适配器。如果使用ArrayAdapter并且每个适配器都包含相同的项目列表,则只需从列表中删除所选项目并通知适配器进行更新。
答案 1 :(得分:0)
首先,设置布尔检查是否是第一次选择微调器。存储所选项目,以便稍后在问题更改时添加它们。
Boolean ifFirstCheck = true;
String storeItem = "";
然后,使用以下代码:
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
if(!ifFirstCheck){
listSp2.add(storeItem);
sp2adapter.notifyDataSetChanged();
listSp3.add(storeItem);
sp3adapter.notifyDataSetChanged();
}
String selectedItem = spinner1.getSelectedItem().toString();
listSp2.remove(selectedItem) // Get selected value from spinner1 and remove thar item from spinner2
sp2adapter.notifyDataSetChanged(); // Notify adapter of spinner2 to that dataset has been changed
listSp3.remove(selectedItem)
sp3adapter.notifyDataSetChanged();
storeItem = selectedItem;
ifFirstCheck = false;
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
如上所述对其余的纺纱工具。请帮助。