Comment faire pour ajouter une chaîne à la liste de façon dynamique dans android?

public class MyActivity extends Activity {
    Context context;
    List<String> tasks;
    ArrayAdapter<String> adapter;

    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        context = this;
        tasks = new ArrayList<String>();

        Button add = (Button) findViewById(R.id.button);
        add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                EditText editText = (EditText) findViewById(R.id.editText);
                editText.setVisibility(1);

                InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.showSoftInput(editText, 0);

                String value = editText.getText().toString();
                tasks.add(value);

                adapter = new ArrayAdapter<String>(context,R.id.listView,tasks);
                ListView listView = (ListView) findViewById(R.id.listView);
                listView.setAdapter(adapter);
            }
        });
    }
}

Ici, j'obtiens la valeur de l'utilisateur. et j'essaie de l'ajouter à la liste d'affichage dynamique. Mais, c'est montrer une erreur que l'on appelle "Malheureusement application est fermée". il est l'échec de l'ajout de la chaîne de valeur pour les tâches variable. les tâches d'une liste de chaîne de caractères.

tasks.add(value);

si j'essaie d'ajouter autre chose aussi c'est un échec. comme,

tasks.add("something");

je ne sais pas quel est le problème. mais je suis sûr que c'est un échec dans cette ligne, parce que si je supprime cette ligne, mon appli fonctionne bien. si quelqu'un sait pourquoi il est en échec, s'il vous plaît laissez-moi savoir. merci à l'avance.

  • pouvez-vous afficher le message d'erreur? Je suppose que c'est un NPE sur cette liste de tâches, peut-être après la rotation?
  • ses une erreur d'exécution. comment puis-je publier?
  • quel est votre logcat dire?
  • jetez un oeil à comment utiliser logcat pour votre environnement de développement (ide, eclipse, android studio) juste une rapide recherche sur google, vous obtiendrez ce que vous voulez, vous serez en mesure de voir où est le problème et pourquoi il se passe.
  • essayez cette adapter = new ArrayAdapter<String>(context,android.R.layout.simple_list_item1,tasks) aussi il n'y a pas besoin de la valeur de la carte à la liste à chaque fois. appelez simplement adapter.notifydataSetChanged pour actualiser listview
  • aussi initialiser votre editext à l'extérieur, sur sur il n'est pas nécessaire de l'initialiser à chaque fois

InformationsquelleAutor Hemanth S R | 2013-09-24