2014-02-05 1 views
0

두 개의 스피너가 있고 OnItemSelectedListener를 구현하는 활동이 있습니다. 선택한 항목을 찾으려면 스위치를 사용합니다. 항목이 선택되면 내가 선택한 것을 사용자에게 알리기위한 간단한 토스트가 있습니다. 문제는 토스트가 생겨서 어떤 아이템이 선택되었는지 말한 때입니다. 사용자가 기본 항목 외에 활동을 만들 때 표시되는 항목을 선택하면 보여 주기만하면됩니다. 여기OnItemSelectedListener가있는 여러 스피너 문제

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    SpinnerAdapterTexts sat = new SpinnerAdapterTexts(); 

    final Spinner spin = (Spinner)findViewById(R.id.spinner); 
    ArrayAdapter<String> arrayAd = new ArrayAdapter<String>(this,R.layout.row,R.id.type,sat.getType()); 
    spin.setAdapter(arrayAd); 
    spin.setOnItemSelectedListener(this); 

    final Spinner spinService = (Spinner)findViewById(R.id.spinnerService); 
    ArrayAdapter<String> arrayAd2 = new ArrayAdapter<String>(this,R.layout.row,R.id.type, sat.getServices()); 
    spinService.setAdapter(arrayAd2); 
    spinService.setOnItemSelectedListener(this); 

} 

@Override 
public void onItemSelected(AdapterView<?> parent, View view, int pos , 
     long id) { 
    // TODO Auto-generated method [email protected] 

    switch(parent.getId()) { 
     case R.id.spinner: 
      selectedType = parent.getItemAtPosition(pos).toString(); 

      Toast.makeText(getApplicationContext(), selectedType + " was selected", Toast.LENGTH_LONG).show(); 

      break; 
     case R.id.spinnerService: 
      selectedType = parent.getItemAtPosition(pos).toString(); 

      Toast.makeText(getApplicationContext(), selectedType + " was selected", Toast.LENGTH_LONG).show(); 
      break; 
    } 

    selectedType = parent.getItemAtPosition(pos).toString(); 
    Log.e("TAG", selectedType); 

} 

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

} 
+0

을 할 수 있습니다. makeText (getApplicationContext(), selectedType + "selected", Toast.LENGTH_LONG) .show(); –

+0

사용자가 기본 항목을 선택하는 이유는 무엇입니까? 이는 회 전자를 열고 기본 항목을 선택한다는 의미입니다. 나는 아직도 그것을 보여주고 싶지만 활동이 만들어지기를 바란다. –

답변

0

아래에있는 내 코드는 기본 항목이 목록의 위치 1이 (selectedType.equalsIgnoreCase ("defaultItem")) 토스트 경우을에 있다는 가정이

int count; 
protected void onCreate(){ 
    count=0; 
    //your codes 
} 
//then before toast 
if(count==0){ 
    count=1; 
    Toast(the user selection); 
} 
관련 문제