J'ai un bouton, un editext et une liste de liste sur mon projet. La fonction que je veux réaliser est que, comme je saisi quelques mots dans editext et cliquez sur le bouton, les mots que j'ai dactylographiés doivent être dans la liste de réception.
Voici mon code. Après le débogage, il affiche erreur: types incompatibles: la chaîne ne peut pas être convertie en chaîne [] code> p>
4 Réponses :
Essayez-le de cette façon
public class MainActivity extends AppCompatActivity { private List<String> str = new ArrayList<String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listView = (ListView) findViewById(R.id.list_view); //build listview ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, str); listView.setAdapter(adapter); } public void sendMessage(View view){ EditText editText = (EditText) findViewById(R.id.editText); String str1 = editText.getText().toString(); str.add(str1); } }
Ce code ne fonctionnera pas car il n'y a pas d'appel de SendMessage
Ce code ne fonctionnera pas, sans notifier le jeu de données Modifier à l'adaptateur, la liste ne doit pas mettre à jour. Vous devez appeler Adapter.NotifyDataSetSetched ().
@Ashish: sendmessage () appelle de XML. Ceci est une chose très basique.Vous pouvez appeler la méthode à partir de la mise en page XML lorsque vous avez cliqué sur le bouton.
Erreur Ce que vous avez à faire est d'utiliser et p>
instauré de Erreur: types incompatibles: la chaîne ne peut pas être convertie en chaîne [] code>
est à cause de
str = editext.gettext (). Tostring (); code>
Ici vous essayez d'assigner une chaîne au tableau de chaîne incorrectement p>
ArrayList code> insté de
String [] code> car il est dynamique et efficace que
string [] p >
str = editext.gettext (). Tostring (); code> faire
arraylist.add (dittext.getext (). Tostring ()); Code> P>
ci-dessous est le code de travail pour ce que vous voulez.
Étape 1 -> Ajouter des données dans Edition Texte P>
Étape 2 -> Cliquez sur le bouton Soumettre P>
Étape 3 -> Les données ajoutées afficheront dans ListView P>
public class MainActivity extends AppCompatActivity { private List<String> str = new ArrayList<>(); private ArrayAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listView = findViewById(R.id.list_view); //build listview adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, str); listView.setAdapter(adapter); } public void sendMessage(View view) { EditText editText = findViewById(R.id.editText); str.add(editText.getText().toString()); adapter.notifyDataSetChanged(); editText.setText(""); } }
Dans votre cas, vous utilisez
string [] code> tableau avec taille 10. Maintenant, si vous souhaitez ajouter une chaîne de
editext code> dans
listview code> alors vous devez ajouter comme ci-dessous. p>
public class MainActivity extends AppCompatActivity { private String[] str = new String[10]; int count = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listView = (ListView) findViewById(R.id.list_view); //build listview ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, str); listView.setAdapter(adapter); } public void sendMessage(View view){ EditText editText = (EditText) findViewById(R.id.editText); if(count < str.length){ str[count] = editText.getText().toString(); count++; } } }