2013-09-06 3 views
0

Необходимо загрузить информацию из счетчика, который был выбран в моем spinner workRequestType. Я начинаю программировать в java android сейчас, и я не уверен, как это сделать.Использование события setOnItemSelectedListener spinner

Исследование, которое я сделал, мне нужно использовать setOnItemSelectedListener, но не знаю, как его использовать. Где я объявляю этот процесс?

Мой код Java:

spnWorkRequesType.setOnItemSelectedListener(new OnItemSelectedListener() { 

    @Override 
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, 
      long arg3) { 

     String workRequestType = arg0.getItemAtPosition(arg2).toString(); 

     loadCustomServiceSpinner(workRequestType); 
    } 

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

    }}); 

private void loadCustomServiceSpinner(String workRequestType) { 

    CustomServiceDBQueries csQueries = new CustomServiceDBQueries(); 
    customService = csQueries.selectCustomService(workRequestType); 

    String[] strCustomService = new String[customService.size() + 1]; 
    strCustomService[0] = ""; 

    int i = 1; 
    for (CustomService cs : customService) { 
     strCustomService[i] = cs.getCustomServiceName(); 
     i++; 
    } 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_item, strCustomService); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    Spinner SpnCustomService = (Spinner) findViewById(R.id.SpnCustomService); 
    SpnCustomService.setAdapter(adapter); 

} 

Спасибо!

ответ

1

Вы можете пройти через это spinner tutorial 1 и spinner tutorial 2. Я думаю, это даст вам хорошее представление о том, как это работает.

В принципе, для установки выпадающего списка вам необходимо установить адаптер массива для поворота. Метод onItemSelected onItemSelectedListener предоставляет вам индекс элемента, который вы выбираете из списка.

0

Я объявил метод в OnCreate(), и он сработал. Спасибо всем за помощь!

spnWorkRequesType 
      .setOnItemSelectedListener(new OnItemSelectedListener() { 

       @Override 
       public void onItemSelected(AdapterView<?> arg0, View arg1, 
         int pos, long id) { 

        String workRequestType = arg0.getItemAtPosition(pos) 
          .toString(); 

        if (pos != 0) 
         Toast.makeText(WorkOrderOpen.this, workRequestType, 
           Toast.LENGTH_LONG).show(); 
       } 

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

       } 
      }); 
Смежные вопросы