2014-06-11 2 views
0

내가 2 Spinner을 만들고 숫자 배열로 채우도록 만들었습니다. 내가 원하는 것은 사용자가 처음에 원하는 번호를 선택한 다음 두 번째 드롭 다운 목록에 해당 번호로 시작하는 값을 채우는 데 사용하는 변수에 저장한다는 것입니다. 어떻게해야합니까? 두 번째 스피너의 텍스트를 선택한 번호로 시작하려면 어떻게 바꿀 수 있습니까?안드로이드가 Spinner의 값을 바꾼다

나는 이것을 가지고 이라는 항목을 변수 x에 저장하고 그 변수로 시작하는 두 번째 Spinner을 원합니다.

: 나는 당신이 spinner1의 드롭 다운 메뉴에서 숫자 4를 선택할 경우, 예를 들어, 올바르게 수행 할 작업을 이해한다면

mySpinner 
       .setAdapter(new ArrayAdapter<String>(NewGuiaActivity.this, 
         android.R.layout.simple_spinner_dropdown_item, 
         establist)); 

     // Spinner on item click listener 
     mySpinner 
       .setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

        @Override 
        public void onItemSelected(AdapterView<?> arg0, 
          View arg1, int position, long arg3) { 
         // TODO Auto-generated method stub 
         // Locate the textviews in activity_main.xml 


         x = estab.get(position).getID(); 

         Toast.makeText(getApplicationContext(), x, 
            Toast.LENGTH_LONG).show(); 

        } 

        @Override 
        public void onNothingSelected(AdapterView<?> arg0) { 
         // TODO Auto-generated method stub 
        } 
       }); 

답변

0

, 당신은 목록의에서 spinner2은 4 위치로 설정하려면 이런 식으로 뭔가를하려고하면 mySpinner1mySpinner2이 있다고, 클래스 implement OnItemSelectedListener을하자 그것을

@Override 
public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long arg3) { 
    Spinner spinner = (Spinner) parent; 
    if(spinner.getId() == case R.id.spinner_1_id){ 
     spinner2Pos = 
       (spinner.getItemAtPosition(position) < mySpinner2.getAdapter().getCount())? 
       spinner.getItemAtPosition(position): 0; 
     mySpinner2.setSelection(spinner2Pos); 
    } 
} 

이것은 당신이 mySpinner1과 선택 항목으로 mySpinner2를 설정해야합니다 private int spinner2Pos = 0; 변수 클래스를 제공, 이것은 클래스 변수 spinner2Pos로 저장됩니다. 나는 그것을 검사 할 시간이 없었으므로 오류가 있는지 알려 주었다.

+0

만 필요 mySpinner2.setSelection (spinner2Pos); thanks men – user3704985

+0

@ user3704985 전체 if 문을 포함 할 수 있습니다. 존재하지 않는 값으로 설정하지 않도록하십시오. 기쁜 데 도움이되었습니다. – zgc7009

관련 문제