2011-12-21 5 views
0

내 메서드는 내 프로그램의 다른 섹션에서 키와 값으로 채워진 Contentvalues 개체를받습니다. 이 Contentvalues 오브젝트가 주어지면 주어진 키에 대해 삽입 된 값의 유형/클래스를 찾을 수 있습니까?ContentValues ​​객체에 삽입 된 값의 유형/클래스를 얻으려면 어떻게해야합니까?

이 나는 ​​타입이 Integer, Long, String 또는 byte[]

감사합니다, 중 하나를 제한 알고, 도움이된다면

답변

2

이 Contentvalues ​​객체를주고,이 유형을 찾을 수 있습니다/주어진 키에 대해 삽입 된 값의 클래스?

쉽지 않음. valueSet()으로 전화를 걸어 값을 찾은 다음 해당 값인 Object의 클래스를 확인하십시오. 나는 이것이 "clunky"한 것으로 믿는다. :-)

불행히도 ContentValues은 최종적인 것이므로 자신의 하위 클래스를 만들어서 할 수있는 일은 없습니다.

+0

감사합니다. valueSet()의 결과를 반복해야하는 이유는 무엇입니까? 일반 (KEY)이 작동하지 않습니까? –

+0

@ Ya.Perelman : 나는 바보입니다. 그렇습니다, 그것은 훨씬 잘 작동 할 것입니다. – CommonsWare

+0

고마워요! 모두 Log.d ("Val Int :", cv.get ("INTVAL"). getClass(). toString()); Log.d ("Val Long :", cv.get ("LONGVAL"). getClass(). toString()); 올바른 클래스를 기록하십시오. 하지만 cv.put ("BARR", 새 바이트 [] {1, 2, 3, 4, 5}); Log.d ("Val BArr :", cv.get ("BARR"). getClass(). toString()); 인쇄 "클래스 [B". 왜 그랬을까요? –

관련 문제