Sou novo no Android e estou tentando criar um spinner programaticamente e alimentá-lo com dados de uma matriz, mas o Eclipse me dá um aviso que não consigo lidar.
Aqui está o que eu tenho:
Este ArrayList contém os elementos que devem estar no botão giratório (é preenchido a partir de um arquivo posteriormente):
ArrayList<String> spinnerArray = new ArrayList<String>();
Este é o código que encontrei em um site que deve criar o spinner:
Spinner spinner = new Spinner(this);
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item,
spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);
Agora, a segunda linha (ArrayAdapter ...) me dá um aviso no Eclipse dizendo "ArrayAdapter is a raw type... References to generic type ArrayAdapter<T> should be parameterized"
: Eu não tenho idéia de como consertar isso (ou o que isso significa em primeiro lugar :)).
É apenas um aviso e o aplicativo parece funcionar bem, mas eu ainda gostaria de entender o que está errado e corrigi-lo. Qualquer dica é apreciada.
Saudações, Select0r
Type safety: The expression of type ArrayAdapter needs unchecked conversion to conform to ArrayAdapter<String>
<String>
, seu código funciona agora, muito obrigado!ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(activity, R.layout.simple_spinner_item); spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
ou então um botão de opção pode aparecer no botão giratório em alguns dispositivos.Da mesma maneira com Array
fonte
Isso funcionou para mim com um array de cadeias chamado
shoes
carregado a partir dos recursos do projeto:Este é o meu arquivo de recurso (
res/values/arrays.xml
) com a string-array denominadashoes
:Com esse método, é mais fácil torná-lo multilíngue (se necessário).
fonte
Isso realmente funcionou para mim
fonte
Spinner spinner = new Spinner(this);
quando você faz issospinner = (Spinner) findViewById( R.id.spinner );
este trabalho para mim: -
Eu estou usando um fragmento.
fonte
Na linguagem Kotlin, você pode fazê-lo desta maneira:
fonte