comment ajouter un élément à la Toupie est ArrayAdapter?

j'ai eu un EditText , un bouton et un compteur . Lors d'un clic sur le bouton , le compteur s'ajouter un nouvel élément avec le nom que vous avez entré dans l'EditText. Mais ici, c'est la question, ma carte.méthode add() semble ne fonctionne pas...voici mon code:

public class Spr extends Activity {
Button bt1;
EditText et;
ArrayAdapter<CharSequence> adapter;
Spinner spinner;
@Override
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.array.planets_array, android.R.layout.simple_spinner_item);

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spinner.setAdapter(adapter);

    bt1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            String temp = et.getText().toString();

            adapter.add(temp);
            adapter.notifyDataSetChanged();
            spinner.setAdapter(adapter);

        }
    });


    spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){

        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int pos, long id) {

            Toast.makeText(parent.getContext(), "The planet is " +
                      parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();

        }

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

        }});
}

}

merci! ...encore waitting

Vous avez certainement n'avez pas besoin d'appeler spinner.setAdapter() de nouveau dans votre point de Vue.OnClickListener. Votre code ressemble à ça devrait fonctionner, cependant.
Vous n'avez pas besoin d'appeler notifyDataSetChanged(). Juste adapter.add() devrait suffire. Quand vous dites "ne fonctionne pas", que voulez-vous dire?
je seached la réponse ,et quelqu'un me dit ,appel notifyDataSetChanged()et setAdapter()de nouveau pourrait être l'aide.j'ai donc de l'ajouter,mais cela ne fonctionne toujours pas...quand je le lance ,et cliquez sur le bouton .il sautera d'une erreur : l'application a cessé de l'onu attendue.s'il vous plaît essayer à nouveau...(je pense que le problème est sur la méthode spinner.add(). ) merci pour votre aide!
il serait utile si vous pouviez nous montrer l'exception ci par logcat au moment de l'application se bloque.
il n'y a pas d'exception s'affiche.j'ai essayé : mettre les éléments dans une liste de tableaux al , et ensuite adapter = new ArrayAdapter<String>(... , ... , al ) ...Il fonctionne...ma question est : quelle est la différence entre eux(je veux dire ArrayAdapter.createFromResource()la méthode et la new ArrayAdapter<String>())?? et je suis désolé que mon anglais est pauvre,je désire vous pouvez comprendre ce que je dis... merci beaucoup

OriginalL'auteur allen | 2010-03-24