2013-05-11 2 views
0

저는 SQLite 데이터베이스로 안드로이드 프로젝트를 작업 중이며 데이터베이스의 개인이 중요한지 여부에 대한 부울 값 (1과 0을 저장)으로 구성된 데이터베이스의 열을가집니다. .안드로이드 - 데이터베이스 SQLite - 부울 값으로 변환

내가하려고하는 것은 textview listview에 "!"출력됩니다. 개인이 중요하다면 커서와 커서 어댑터를 사용하는 것이 중요하지 않은 경우 ""합니다. 나는 "1"과 "0"을 listview에 나타낼 수 있지만, 나의 질문은 어떻게/이걸 "!"로 변환 할 것인가이다. 및 ""? ListView에 대한 CustomAdapter에있는은을 담당하는 것이 그것이 내가 그것이 확신 사용자 지정 목록보기 인 경우

내가 현재 사용하고있는 쿼리가

return database.query("people", new String[] {"_id", "important"}, null, null, null, null, "important" + " DESC, " + "name" + " ASC"); 

답변

0

가장 쉬운 방법은 데이터베이스 쿼리에서이를 수행하는 것입니다. 대신 rawQuery를 사용해야하므로 query 기능은, 그 너무 융통성이 있습니다 : 로직

db.rawQuery("SELECT _id, " + 
        "CASE WHEN important THEN '!' ELSE ' ' END AS important " + 
      "FROM people " + 
      "ORDER BY important DESC, name ASC", null); 
+0

안녕 덕분에,하지만의 ListView는 여전히 이것은 내가 사용하고 무엇 0과 1을 보여주고있다 :'수익을 중요도가 중요 할 때 '+'ELSE "END AS IMPMARKER"+ "FROM people"+ "ORDER BY 중요 DESC, 사람들 ASC", null) database.rawQuery ("SELECT _id, 중요"+ " ; ' 'important = ','== '번갈아 시도했지만 성공하지 못했습니다. 어떤 아이디어? –

+0

왜 쿼리 문자열을 변경 했습니까? 'important'라는 결과 컬럼이 필요하면'AS'를 변경하십시오. –

+0

'SELECT _id, important, '를 사용한 첫 번째 비트를 의미합니까? (당신이 내게 준 쿼리와 같이) 중요한 부분을 넣지 않았을 때 프로그램은 시작할 때 충돌했습니다. 왜냐하면 다른 코드에서는'String [] from = new String [] { "important"}; CursorAdaptor –

0

입니다, 당신은해야 할 것이다 ListView에 전달한 데이터로 채 웁니다. Check 이것. 매우 간단합니다. 커서를 반복하고 else 문을 수행하면됩니다.

관련 문제