2011-11-08 7 views
0

Spinnerコントロールは、次のようにSqlliteのデータとページロード時にバインドします。SpinnerコントロールでSqlite Savedデータを選択する必要があります

public void BindSpinner() { 
     ArrayList<HashMap<String, String>> alist = new ArrayList<HashMap<String, String>>(); 
     HashMap<String, String> map = new HashMap<String, String>(); 
     Cursor cursor; 
     delivary_helper deliveryHelper; 
     SimpleAdapter simpleAdapter; 
     deliveryHelper = new delivary_helper(this); 
     cursor = deliveryHelper.GetProblemCodes(); 
     cursor.moveToFirst(); 

     for (int i = 0; i < cursor.getCount(); i++) { 
      map = new HashMap<String, String>(); 

      map.put("Deliv_Issue2_PKProblemCode", 
        cursor.getString(cursor.getColumnIndex("PKProblemCode"))); 
      map.put("Deliv_Issue2_ProblemCode", 
        cursor.getString(cursor.getColumnIndex("ProblemCode"))); 
      map.put("Deliv_Issue2_ProblemCodeDescription", cursor 
        .getString(cursor.getColumnIndex("ProblemCodeDescription"))); 
      map.put("Deliv_Issue2_VWReturn", 
        cursor.getString(cursor.getColumnIndex("VWReturn"))); 
      alist.add(map); 
      cursor.moveToNext(); 
     } 

     simpleAdapter = new SimpleAdapter(this, alist, 
       R.layout.delivery_issue_2_spinner_row, new String[] { 
         "Deliv_Issue2_PKProblemCode", 
         "Deliv_Issue2_ProblemCode", 
         "Deliv_Issue2_ProblemCodeDescription", 
         "Deliv_Issue2_VWReturn" }, new int[] { 
         R.id.tvDelivIssue2PKProblemCode, 
         R.id.tvDelivIssue2ProblemCode, 
         R.id.tvDelivIssue2ProblemCodeDescription, 
         R.id.tvDelivIssue2VWReturn }); 
     delivery_line_problem.setAdapter(simpleAdapter); 
    } 

私はSqlliteデータベーステーブルにSelectedアイテムのIDを保存しました。

Spinnerコントロールのデータを保存して他のページを通過した後、同じページに戻ると、Spinnerコントロールで保存されたデータを選択できません。どのようにアイテムを選択できますか私は救いました。また、スピナーを後ろのデータで完全に束縛する必要があります。

いずれかの解決策がありますか。

答えて

0

正しく理解している場合は、OnItemSelectedListenerをスピナーに設定するだけで済みます。項目が選択されると、その項目をアクティビティーのインスタンス変数に保管します。そうすることで、選択された最後のアイテムが常にわかります。だからこのようなもの:

yourSpinner.setOnItemSelectedSpinner(new AdapterView.OnItemSelectedListener(){ 
    public void onItemSelected (AdapterView<?> parent, View view, int position, long id){ 
    lastItemSelected = id; 
    } 
    public void onNothingSelected (AdapterView<?> parent){ 
    //do nothing here 
    } 
}); 
関連する問題