depuis quelques heures maintenant, j'ai eu un problème avec les vues de liste dans java dans une application pratique à faire que je suis en train de faire. J'ai une vue de liste sur mon activité principale et après le changement de cette activité et retour à elle, la vue de liste est partie. J'ai googlé et vu des gens changer des choses et enregistrer des instances et essayé de l'implémenter sans succès, cependant, cela pourrait être parce que je suis extrêmement nouveau à Java. Voici le code:Affichage de liste disparaît après avoir changé d'activité
public class MainActivity extends AppCompatActivity {
private ArrayList items;
private ArrayAdapter itemsAdapter;
private ListView lvItems;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lvItems = (ListView) findViewById(R.id.lvItems);
items = new ArrayList();
itemsAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);
lvItems.setAdapter(itemsAdapter);
items.add("Test");
setupListViewListener();
}
// Attaches a long click listener to the listview
private void setupListViewListener() {
lvItems.setOnItemLongClickListener(
new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapter,
View item, int pos, long id) {
// Remove the item within array at position
items.remove(pos);
// Refresh the adapter
itemsAdapter.notifyDataSetChanged();
// Return true consumes the long click event (marks it handled)
return true;
}
});}
public void onChangeView(View v) {
setContentView(R.layout.activity_create);
}
public void onConfirmItem(View v) {
EditText etNewItem = (EditText) findViewById(R.id.etNewItem);
String itemText = etNewItem.getText().toString();
itemsAdapter.add(itemText);
etNewItem.setText("");
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
Oui c'est aussi une raison !! – Skynet