2016-02-04 4 views
-1

Когда я нажимаю и открываю раскрывающееся меню «Spinner dialog»,
Я хочу, чтобы щелкнуть и запустить еще один разворот выпадающего списка сразу в том же макете.Прямоугольник для Android прямо сейчас нажимаете прямо на прядильщик?

Пример:
1. «Spinner1» и «spinner2» в тот же макет
2. Когда я нажимаю «и» Spinner1 открыть ниспадающее меню,
3. Затем я хочу нажать «spinner2» и откройте его выпадающие сразу
4. с не жду «Spinner1» закрыть меню для щелчка «spinner2»
5. (а также «Spinner1» следует закрыть меню)

, когда я нажимаю после любой выпадающего открыт, в любом месте на экране заблокирован для закрытия раскрытого раскрывающегося списка, не удается щелкнуть любое представление, пока выпадающее меню не будет закрыто?
Можно ли щелкнуть любой другой вид, когда раскрывающийся список открыт в Android?

+0

Смотрите мой ответ ниже. –

ответ

0

Попробуйте этот код:

 Spinner sp1 = (Spinner) findViewById(R.id.sp_category); 
     final Spinner sp2 = (Spinner) findViewById(R.id.sp_category2); 

     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, 
       R.array.planets_array, android.R.layout.simple_spinner_item); 
// Specify the layout to use when the list of choices appears 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
// Apply the adapter to the spinner 
     sp1.setAdapter(adapter); 


     ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this, 
       R.array.values, android.R.layout.simple_spinner_item); 
// Specify the layout to use when the list of choices appears 
     adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
// Apply the adapter to the spinner 
     sp2.setAdapter(adapter2); 


     sp1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
       sp2.performClick(); 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> parent) { 

      } 
     }); 

     sp2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 

      } 

      @Override 
      public void onNothingSelected(AdapterView<?> parent) { 

      } 
     }); 
    } 
+0

«sp2.performClick();» в OnItemSelected() будет работать для вас. –

+0

всегда запускается при нажатии sp1? я хочу только нажать «spinner2», чтобы открыть его раскрывающееся меню – MarsPeople

+0

@MarsPeople Я обновил свой ответ, пожалуйста, проверьте. –

Смежные вопросы