在我的应用程序中,我有两个微调器(职业、子职业),其中第一个微调器是从字符串数组中填充的,第二个微调器是根据第一个微调器中选择的值填充的。
两个微调器的选定值都存储在 SQLite 数据库中。保存后用户可以编辑记录,因此在显示要编辑的记录时,我想在用户上次选择的微调器上显示特定值。
当我尝试这样做时,第一个微调器值设置正确,但我无法设置第二个微调器值。它始终显示该微调器的数组中的第一个值。
这是在编辑页面中为微调器分配值的代码:
if (bundlevalue.get(21).equalsIgnoreCase("Salaried")) {
spin_occupation.setSelection(0);
if(bundlevalue.get(22).equalsIgnoreCase("Others"))
{
spin_subOccu.setSelection(4);
occuSubArrayAdap.notifyDataSetChanged();
}
else if(bundlevalue.get(22).equalsIgnoreCase("Police"))
{
spin_subOccu.setSelection(1);
occuSubArrayAdap.notifyDataSetChanged();
}
else if(bundlevalue.get(22).equalsIgnoreCase("Legal Profession"))
{
spin_subOccu.setSelection(2);
occuSubArrayAdap.notifyDataSetChanged();
}
else if(bundlevalue.get(22).equalsIgnoreCase("Central/State Government"))
{
spin_subOccu.setSelection(3);
occuSubArrayAdap.notifyDataSetChanged();
}
else
{
spin_subOccu.setSelection(0);
occuSubArrayAdap.notifyDataSetChanged();
}
}
else if (bundlevalue.get(21).equalsIgnoreCase(
"Self employed non professional")) {
spin_occupation.setSelection(1);
if(bundlevalue.get(22).equalsIgnoreCase("Others"))
{
spin_subOccu.setSelection(5);
occuSubArrayAdap.notifyDataSetChanged();
}
else if(bundlevalue.get(22).equalsIgnoreCase("Travel Agent /Telecommunication Service/Tours&Travels"))
{
spin_subOccu.setSelection(1);
occuSubArrayAdap.notifyDataSetChanged();
}
else if(bundlevalue.get(22).equalsIgnoreCase("Restaurant/Hotels/Resorts"))
{
spin_subOccu.setSelection(2);
occuSubArrayAdap.notifyDataSetChanged();
}
else if(bundlevalue.get(22).equalsIgnoreCase("Retail Stores"))
{
spin_subOccu.setSelection(3);
occuSubArrayAdap.notifyDataSetChanged();
}
else if(bundlevalue.get(22).equalsIgnoreCase("Money Changers/Money Lenders/Real Estate"))
{
spin_subOccu.setSelection(4);
occuSubArrayAdap.notifyDataSetChanged();
}
else
{
spin_subOccu.setSelection(0);
occuSubArrayAdap.notifyDataSetChanged();
}
我的代码有什么问题?有人可以解释一下吗?
请帮忙!
提前致谢!