2012-03-13 3 views
0

일부 유선 문제에서 도움이 필요합니다. 나는이 코드 조각 ITEM_ID 삽입하고 ITEM_NAME의 완벽하게 잘 배열하는Android SQLite 열 값이 존재하지 않습니다.

item_id item_name 
1   first 
2   second 
3   third 

에 다음과 같은 sqlite가 테이블 항목이있다. 내가 할당 할 때하지만 예외 통해

을 CustomCursorAdapter하는

내가 안드로이드 초보자입니다 도와주세요 " '첫째'열이 존재하지 않습니다."

CustomCursorAdapter ca = new CustomCursorAdapter(this, 
        android.R.layout.simple_list_item_1, c, from, to); 

필요한 열 이름을 인수로

내의 파라미터와의

 c = db.rawQuery("select item_id as _id, item_name from items", null); 
     int i = 0; 
     c.moveToFirst(); 
     do { 
      from[i] = c.getString(1); 
      to[i] = c.getInt(0); 
      Log.i("item ", to[i] + " " + from[i]); 
      i++; 
     } while (c.moveToNext()); 
     try { 
      CustomCursorAdapter ca = new CustomCursorAdapter(this, 
        android.R.layout.simple_list_item_1, c, from, to); 

      getListView().setAdapter(ca); 
     } catch (Exception e) { 
      Log.e("Ex ", e.getMessage()); // exception : column 'first' does not exists. 
     } 

답변

2

from[0] = c.getString(1)을 설정했기 때문입니다.

getString()0 기반이므로 케이스는 "first"입니다. 그런 다음 from을 클래스의 매개 변수 from으로 전달하고 (SimpleCursorAdapter를 확장 함), 어댑터가이 열 이름을 매핑하려고하면이 오류가 발생합니다. 이 경우 from은 UI에 바인딩 할 데이터가 들어있는 열 이름 목록을 나타내며 to으로 표시됩니다.

0

는, 만약 열을 전달하는 반면에 반면 레이아웃 textviews 이러한 항목의 ID 일 필요 '로'배열로 배열 값

String[] from= new String[]{"item_name"}; 
int[] to= new int[]{android.R.id.textView1}; 

다음이 매개 변수에 쿼리를 실행 :이 예를 들어 ID가 android.R.id.textview1, 그래서 다음을 수행 너무 드, 예상.

관련 문제