2012-12-20 2 views
0

Spinner이 여러 값을 반환하거나 선택한 객체를 클래스로 반환 할 수 있습니까?선택한 값에 여러 값을 반환하는 Spinner?

예를 들어 나는 Spinner of Laptop 모델을 가지고 있습니다. 선택한 경우 크기, 무게, 프로세서 등이 포함 된 LaptopSpecs 개체를 반환하고 그 정보를 사용하여 아래의보기에 정보를 표시합니다.

감사

+2

데이터베이스에 사양을 저장하고 스피너 선택 값을 통해 비교하여 표시합니다. –

+0

감사하지만 Spinner는 실제로 객체를 반환 할 수 없습니까? – hrsetyono

+0

회 전자를 선택하는 동안 문자열 값을 얻었습니까 –

답변

1

회 전자를 어떻게 채우고 있는지에 따라 다릅니다.

커서로 데이터베이스에서 데이터를 가져 오는 경우 수행하려는 작업이 쉽습니다. 사실

, 데이터베이스를 사용하여, 당신이 그것을 할 수있는 몇 가지 방법이있다 :

1) 당신은 단순히 모든 당신이 당신의 커서로 객체를 생성 할 필요가 필요한 데이터 (좀 무거운 당겨 로드)를 선택하고 스피너에 표시되는 데이터의 단일 비트로 선택하면 onItemSlected 메서드의 커서 위치 참조를 사용하여 관련 데이터를 커서에서 가져 와서 개체에 압축합니다.

2) 스피너에 표시 할 데이터 조각 만 가져오고 선택하면 onItemSelected 메서드의 데이터베이스 행 ID를 사용하여 데이터베이스에서 개체의 나머지 데이터를 가져옵니다.

+0

해답을 주셔서 감사합니다. 그래서 옵션 2가 훨씬 더 효율적입니까? 왜냐하면 옵션 1은 처음에는 느리지 만 그 이후는 빠르다고 생각하기 때문에 – hrsetyono

+1

나는 전반적으로 훨씬 적은 데이터를로드하므로 옵션 2가 더 좋습니다. 옵션 1에서는 모든 것을 비웃고 조금만 사용합니다. 옵션 2에서는 앱을 실행하는 데 필요한 것을로드합니다. – Barak

2

죄송합니다, 아니 다중 선택 Spinner 없다. 다중 선택 목록 AlertDialog을 사용하여 사용자가 선택을 허용 할 수 있지만 대화 상자가 화면에 없을 때 선택 사항을 렌더링하는 방법을 직접 결정해야합니다.

+0

죄송합니다 아마도 내 질문 조금 혼란. 필자가 원하는 것은 단일 문자열 대신 객체 (또는 다중 값)를 반환하는'Spinner '입니다. – hrsetyono

+1

@DarcCode :'Spinner'는 아무것도 반환하지 않습니다. 그것은 방법이 아닌 클래스입니다. 사용자가 선택하는 것은 반드시 '문자열'일 필요는 없습니다 - 데이터 모델이 '어댑터'(문자열, 레스토랑, 미사일 유형, 모자 등)에 의해 래핑 된 것이기도합니다. 그것은 모두 자연스럽게 기존의 Spinner의 일부입니다. 표준 '회 전자 (Spinner)'로는 불가능한 것은 사용자가 목록에서 하나 이상의 항목을 선택하는 것입니다. – CommonsWare

+0

고마워, 나는 우리가 어떤 객체라도 돌려 줄 수있는 주문형 어댑터를 가지고 있다는 것을 알지 못했다. – hrsetyono

관련 문제