2012-04-15 2 views
1

안드로이드에 SQlite을 사용하여 테이블을 만들었습니다. 성별에 대한 열 (남 /여)이 데이터베이스에 있습니다. 섹스 유형을 확인하고 유형에 따라 남성/여성 아이콘을 표시하고 싶습니다. setViewBinder()을 사용하여 열 인덱스 (정확히 어떤 열인지는 알 수 없음)를 전달했지만이 항목을 사용하여 섹스 열을 확인할 수 있다고 생각합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?ViewBinder를 사용하여 데이터베이스에 아이콘 표시

 ListView lv=(ListView)findViewById(R.id.mylist); 


     dbh = new DatabaseHelper(this); 

      c = dbh.getReadableDatabase().rawQuery("SELECT _id, " + 
        DatabaseHelper.NAME + 
      ", " + DatabaseHelper.LASTNAME + 
      ", " + DatabaseHelper.ans2 + ", " + DatabaseHelper.SEX + 
      " FROM " + 
      DatabaseHelper.TABLE_NAME, null); // initializing 


    String[] dataFrom ={DatabaseHelper.NAME, DatabaseHelper.LASTNAME, DatabaseHelper.ans2, DatabaseHelper.SEX}; 
    int[] dataTo = {R.id.name, R.id.value1, R.id.value2, R.id.icon}; 

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
       R.layout.row, c, dataFrom, dataTo); 
    adapter.setViewBinder(new ViewBinder(){ 


     public boolean setViewValue(View view, Cursor cursor, 
       int columnIndex) { 
      if (view.getId() == R.id.icon) { 
       int sex = cursor.getInt(columnIndex); 
       String s = String.valueOf(sex); 
       if (s == "male") { 
        ((ImageView) view).setImageResource(R.drawable.male); 
       } else if (s == "female"){ 
        ((ImageView) view).setImageResource(R.drawable.female); 
       } 

       return true;  
      } else { 
       return false; 
      } 

     } 

    }); 
lv.setAdapter(adapter); 

답변

2

당신이받을 수 있기 때문에의 Bindview가 쉽게 데이터를 설정/확인 할 수있어서

  • 당신은 당신의 데이터를 배치 할 수있는 실제 위치
  • 뷰에 위치 설정 커서
2
if (s == "male") 

if (s.equals("male"))