Como o outro tópico estava marcado como resolvido, publico este.
Eu só tenho uma tela no meu aplicativo, e não consigo popular um spinner com os meses do ano.
Criei o seguinte no meu string.xml:
01
02
03
04
05
06
07
08
09
10
11
12
Meu problema está nos comandos de popular o spinner chamado “messp”:
messp = (Spinner) findViewById(R.id.messp);
ArrayAdapter adapter = ArrayAdapter.createFromResource(this,
R.array.meses_array, android.R.layout.activity_list_item);
adapter.setDropDownViewResource(android.R.layout.activity_list_item.messp);
messp.setAdapter(adapter);
Minha activity principal se chama “activity_main”.
Tentei de tudo, mas desisti, algu[em pode me ajudar?
Unica coisa que consigo ver (que acho que so esta diferente na sua postagem) é que no segundo argumento do createFromResource esta R.array.meses_array e o nome da sua array é meses.
Melhorou, mas continua o erro na linha:
adapter.setDropDownViewResource(android.R.layout.activity_list_item.messp);
A mensagem de erro é “The primitive type int in android.R.layout.activity_list_items does not have a field messp”, que pesquisei no Google mas não cheguei a nenhuma conclusão.
Como só tenho uma tela activity_mais, troquei para:
adapter.setDropDownViewResource(android.R.layout.activity_main.messp);
e a mensagem passou para “activity_main cannot be resolved or is not a field”.
Eu tenho apenas uma tela na aplicação, onde tenho o spinner “messp”.
Resolvi de outra forma, usando a propriedade “Entries” do spinner, já vinculado ao array criado.
Agora só vou procurar o mês corrente para posicionar nele.
Obrigado , fabriciov !!!
Agora estou melhorando o aplicativo e quero posicionar no mês atual para facilitar a vida do usuário.
Consegui o seguinte comando:
Calendar hoje = Calendar.getInstance();
String mes;
mes = String.valueOf(hoje.get(Calendar.MONTH));
if (mes.length() < 2) {
mes = "0" + mes;
}
for(int i=0;i<messp.getCount();i++)
{
Object id=messp.getItemAtPosition(i);
if(id==mes)
{
messp.setSelection(i, true);
break;
}
}
Mas a aplicação dá erro, sem que eu saiba onde.
O erro é NullPointerException. Será que meu spinner não foi populado corretamente pelo uso da propriedade “Entries” do spinner, já vinculado ao array criado no strings.xml?
Tem uma forma de forçar o spinner a ser populado?