2014-10-17 3 views
0

Когда я добавляю новый элемент в свой ListView, он теряет значения, которые существовали. Появляется только новое значение, которое было добавлено. Цель состоит в том, чтобы добавить новое значение без потери существующих ones.My Код:Когда я добавляю новый элемент в Listview, предыдущие значения удаляются

List<string> list = new List<string>(); 
void btnAddItem_Click(object sender, EventArgs e) 
{ 
    ArrayAdapter<string> adapter; 

    string edttxNewItem = FindViewById<EditText>(Resource.Id.newItem).Text; 

    ListView listItems = FindViewById<ListView>(Resource.Id.ListOfItems); 

    list.Add(edttxNewItem); 

    adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, list); 

    listItems.Adapter = adapter; 

    listItems.DeferNotifyDataSetChanged(); 

} 

ответ

0

Я не знаком с xamarin, но кажется, что вы каждый раз пытаетесь создать экземпляр listview на btnAddItem_Click.

Так инициализирует listItems в oncreate способом, как

listItems = FindViewById<ListView>(Resource.Id.ListOfItems); 

и определить listItems в качестве переменной класса.

А также установить adapter за пределами btnAddItem_Click, скажем, в OnCreate метод.

adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, list); 

В btnAddItem_Click просто добавить edttxNewItem в listItems и сделать notifydatasetchanged эквивалент в xamarin.

0

Каждый раз при нажатии на кнопку вы инстанцировании новый ArrayList (список List = новый список();). Таким образом, все предыдущие значения в массиве удаляются

+0

Я удаляю, но значения before удаляются. Список начинается с начала приложения. –

Смежные вопросы