2017-12-07 12 views
-1

나는 안드로이드 회 전자 컨트롤에 대해 연구 중이다. 나는 이미이 잘 작동문자열 목록에서 Spinner의 값과 텍스트를 설정하는 방법은 무엇입니까?

String[] items = new String[]{ "Office", "Home", "College", "Uncle's Home", "CoDebuggers"}; 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items); 
     SpinnerName.setAdapter(adapter); 

같은 회에 표시 할 문자열의 목록을 채울 수 있습니다하지만 난

  1. 사무실처럼 내 목록 = 4
  2. 홈 = 8
  3. 을 고유 ID를 추가해야
  4. 대학 = 9
  5. 삼촌의 집 = 10
  6. CoDebiggers = 55

    어떻게 문자열 목록에 값을 설정할 수 있습니까? 및 선택한 항목을 변경하여이 값을 얻을 수 있습니까?

+0

가능한 복제본 [https://stackoverflow.com/questions/1625249/android-how-to-bind-spinner-to-custom-object-list](https://stackoverflow.com/questions/1625249)/android-how-to-bind-spinner-to-custom-object-list) – Lucky

+0

arraylist와 id 및 title의 두 필드 사용 –

답변

3

항목에 대해 하나씩, 항목 값에 대해 두 번째 배열을 만들어야합니다.

String[] items = new String[]{ "Office", "Home", "College", "Uncle's Home", "CoDebuggers"}; 
int[] items_value = new String[]{ 4, 8, 9, 10, 55}; 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items); 
SpinnerName.setAdapter(adapter); 

값 어레이에서 각각 스피너 선택된 항목 값을 얻기 :

INT 값 = items_value [SpinnerName.getSelectedItemPosition()];

0

두 배열의 크기를 동일하게 유지하십시오. 하나는 항목 용이고 다른 하나는 itemIds 용입니다. 아래처럼 spinner call itemsId 배열의 OnclickLisener 안에 있습니다.

String[] itemsId = new String[]{ "4", "8", "9", "10","55"}; 
String[] items = new String[]{ "Office", "Home", "College", "Uncle's Home", "CoDebuggers"}; 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items); 
    SpinnerName.setAdapter(adapter); 
SpinnerName.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 

      String id = itemsId.get(i); 
     } 
     @Override 
     public void onNothingSelected(AdapterView<?> adapterView) { 

     } 
    });