2011-11-08 1 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 컨트롤 데이터를 저장하고 다른 페이지를 통과 한 후 같은 페이지로 돌아 가면 스피너 컨트롤에서 저장된 데이터를 선택할 수 없다는 문제점이 있습니다. 항목을 선택하면 어떻게 할 수 있습니까? 나는 구원을 받았고 스피너를 뒤에있는 데이터와 완전히 묶을 필요가있다.

나에게 해결책을 제공 할 것입니다.

답변

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 
    } 
}); 
관련 문제