私のアプリケーションでは、2 つのスピナー (職業、サブ職業) があり、最初のスピナーは文字列の配列から取り込まれ、2 番目のスピナーは最初のスピナーで選択された値に基づいて取り込まれます。
両方のスピナーの選択された値は、SQLite データベースに保存されます。保存後、ユーザーはレコードを編集できるため、編集するレコードを表示しながら、ユーザーが最後に選択したスピナーに特定の値を表示したいと考えています。
そうしようとすると、最初のスピナーの値は正しく設定されますが、2 番目のスピナーの値を設定できません。そのスピナーの配列の最初の値が常に表示されます。
編集ページでスピナーに値を割り当てるコードは次のとおりです。
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();
}
コードの何が問題になっていますか? 誰か説明してくれませんか?
助けてください!
前もって感謝します!