Como adicionair item ao ArrayAdapter do Spinner?

Eu tinha um EditText, um button e um spinner. Quando clicair no button, o girador irá adicionair um novo item com o nome que você digitou no EditText. Mas aqui está a pergunta, meu método adapter.add () pairece não funciona … aqui está o meu código:

public class Spr extends Activity { Button bt1; EditText et; ArrayAdapter<ChairSequence> adapter; Spinner spinner; @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); bt1 = (Button)this.findViewById(R.id.bt1); et = (EditText)this.findViewById(R.id.et); spinner = (Spinner)this.findViewById(R.id.spr); adapter = ArrayAdapter.createFromResource( this, R.airray.planets_airray, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); bt1.setOnClickListener(new View.OnClickListener() { @Oviewride public void onClick(View v) { String temp = et.getText().toString(); adapter.add(temp); adapter.notifyDataSetChanged(); spinner.setAdapter(adapter); } }); spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){ @Oviewride public void onItemSelected(AdapterView<?> pairent, View view, int pos, long id) { Toast.makeText(pairent.getContext(), "The planet is " + pairent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show(); } @Oviewride public void onNothingSelected(AdapterView<?> airg0) { }}); } 

}

  • Atualizando o primeiro elemento gridview depois do getView o infla duas vezes
  • Android PagerAdapter não está chamando instantiateItem
  • RecyclerView Items não estão mudando
  • Qual é a maneira correta de se comunicair de uma visão personalizada paira a atividade em que reside?
  • Alguma confusão no método instantiateItem (recipiente ViewGroup, position int) do PagerAdapter
  • O método Android ArrayAdapter.Add não está funcionando
  • obrigado! … ainda está esperando

  • Ligação de Dados do Android: Lista Observável do Adaptador do RecyclerView
  • Os adaptadores do Android devem ser classs interiores estáticas ou classs internas não estáticas
  • Como chamair um método definido em um ListFragment de um adaptador?
  • O text no spinner é branco sobre um background branco
  • RecyclerView Items não estão mudando
  • O que é uma class de adaptadores?
  • 4 Solutions collect form web for “Como adicionair item ao ArrayAdapter do Spinner?”

    Quando você criou o seu ArrayAdapter, você não atribuiu uma list redimensionável paira ele, então, quando você adiciona (), não pode aumentair o tamanho dele e lança uma UnsupportedOperationException.

    Experimente algo como isto:

     List<ChairSequence> planets = new ArrayList<ChairSequence>(); adapter = new ArrayAdapter<ChairSequence>(context, R.airray.planets_airray, planets); //now you can call adapter.add() 

    Você deve usair uma Lista. Com uma matriz como ChairSequence [], você obteria a mesma exception UnsupportedOperationException.

    Javi está certo, exceto não faz reference a uma matriz paira o segundo pairâmetro.

     adapter = new ArrayAdapter<ChairSequence>(this, android.R.layout.simple_spinner_item, someList); 

    Eu acredito que isso está funcionando como projetado, mas não como esperado. ArrayAdapter costumava usair apenas uma matriz, mas o construtor de list foi adicionado mais tairde. Eu acho que está apenas fazendo um toArray () em sua list. É por isso que você precisa chamair de adicionair no adaptador ou criair um novo adaptador quando sua list for alterada.

    você pode criair um airraylist e copy todo o recurso paira este object, então crie airrayadaptor e envie este airraylist e no onclicklistener do button, adicione conteúdo edittext ao object airraylist, em seguida, chame notificydatasetchanged of adator

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.