Embora isso possa teoricamente responder à pergunta, seria preferível incluir as partes essenciais da resposta aqui e fornecer o link para referência.
Bill the Lizard
use este android.R.layout.simple_spinner_dropdown_item no lugar deste android.R.layout.simple_spinner_item. Parece muito melhor
sai Gorantla
O que é array_spinner? o nome da matriz é arraySpinner. é um erro de grafia ou tem que ser assim apenas>
SurajS
1
Considere adicionar adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);(antes s.setAdapter(adapter);para fazer o menu suspenso parecer melhor.
ban-geoengineering
1
@StephenM alterou o link
pankajagarwal
99
Encontrei outra opção: definição de spinner no arquivo de layout
Para adicionar item no Spinner, você pode fazer uma coisa, tentar criar um adaptador e, em seguida, adicionar / remover itens no adaptador, então você pode ligar facilmente esse adaptador ao spinner usando setAdapter() método.
obrigado pela resposta ur eu tenho a solução também agora estou enfrentando um problema nele.
Eu quero buscar o item selecionado do spinner, ou seja, sua posição conforme eu quero passá-lo para outro método, veja o que eu fiz ... dataspin.setOnItemSelectedListener (new myitemlistener ());
dataspin é meu objeto Spinner
@Override public void onItemSelected (AdapterView <?> Pai, visualização da visualização, posição interna, id longo) {// TODO Método gerado automaticamente stub String p = parent.getItemAtPosition (position) .toString (); int pos = (int) parent.getItemIdAtPosition (position); System.out.println ("posição do botão giratório ..." + pos); setSearchView (pos); }
se eu fizer isso, o item giratório não será exibido
Primeiro TypeCast no arquivo Java. Em seguida, use o botão giratório Spinner; spinner = findViewById (R.id.spinner); spinner.setOnItemClickListener (new AdapterView.OnItemClickListener () {@Override public void onItemClick (AdapterView <?> parent, View view, int position, long id) {}});
ZIA ANSARI
5
Este código basicamente lê um objeto de matriz JSON e converte cada linha em uma opção no spinner que é passada como um parâmetro:
publicArrayAdapter<String> getArrayAdapterFromArrayListForSpinner(ArrayList<JSONObject> aArrayList,String aField){ArrayAdapter<String> aArrayAdapter =newArrayAdapter<String>(context, android.R.layout.simple_spinner_item);
aArrayAdapter.setDropDownViewResource(R.layout.multiline_spinner_dropdown_item);//android.R.layout.simple_spinner_dropdown_itemtry{for(int i =0; i < aArrayList.size(); i++){
aArrayAdapter.add(aArrayList.get(i).getString(aField));}}catch(JSONException e){
e.printStackTrace();ShowMessage("Error while reading the JSON list");}return aArrayAdapter;}
Respostas:
Arquivo XML:
Arquivo Java:
Veja o exemplo do spinner .
fonte
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
(antess.setAdapter(adapter);
para fazer o menu suspenso parecer melhor.Encontrei outra opção: definição de spinner no arquivo de layout
Definição de itens no arquivo array.xml:
Link para a fonte completa do código
fonte
Experimente este código:
Você também pode adicionar o valor do item giratório por meio do arquivo xml do array String.
Em mainActivity.java:
fonte
Para adicionar item no Spinner, você pode fazer uma coisa, tentar criar um adaptador e, em seguida, adicionar / remover itens no adaptador, então você pode ligar facilmente esse adaptador ao spinner usando
setAdapter()
método.Aqui está um exemplo:
fonte
Em seu layout:
fonte
Este código basicamente lê um objeto de matriz JSON e converte cada linha em uma opção no spinner que é passada como um parâmetro:
fonte
Adicione um spinner ao layout XML e, em seguida, adicione este código ao arquivo Java:
fonte
Adicione este código após atualizar a lista
Suponha:
O nome da variável ArrayAdapter <String> é dataAdapter e o nome da variável List são keys .
fonte
Para adicionar mais um item ao Spinner, você pode:
fonte
É só limpar o adaptador, adicionar todos os itens e notificar a mudança como abaixo:
fonte
Uma maneira mais fácil é usar a biblioteca giratória de material: https://github.com/jaredrummler/MaterialSpinner
primeiro adicione ao seu projeto:
e usar assim:
e código java que você pode adicionar itens em java tão facilmente:
fonte