2013-03-20 29 views
0

到目前爲止,我有這樣的:如何保持一個陣列將數據添加到顯示在列表視圖中xamarin爲Android

btnAddContact.Click += delegate { 
      String[] nameList = new string[]{nameText.Text, ipText.Text}; 

      var myAdapter = new ArrayAdapter(this, Resource.Layout.TextViewItem, nameList); 
      contactView.Adapter = myAdapter; 
      myAdapter.NotifyDataSetChanged(); 
      nameText.Text = ""; 
      }; 

兩個EditText上的字段,一個按鈕和一個ListView - 當我添加數據到兩個文本字段,並單擊按鈕,它將數據添加到數組,然後將其顯示在ListView中..除非我嘗試通過文本字段向數組添加另一個值,它只是改變了已經輸入的內容..

我怎麼做,所以它不斷增加形成列表中的數據?

回答

1

自己想出來..這是其他人告訴我的事情只能通過自定義適配器才能實現,因此它可能對其他人有用。

創建一個公共陣列

public ArrayList nameList = new ArrayList(); 

然後點擊一個按鈕,分配添加到陣列碼。

btnAddContact.Click += delegate { 
      nameList.Add(nameText.Text + " " + ipText.Text); 
      var myAdapter = new ArrayAdapter(this, Resource.Layout.TextViewItem, nameList); 
      contactView.Adapter = myAdapter; 
      myAdapter.NotifyDataSetChanged(); 
      nameText.Text = ""; 
      ipText.Text = ""; 
      }; 

這將名稱和IP地址放在同一行上,並在兩者之間留有空格,以便易讀。

+0

將第3行和第4行拉出Click處理程序,並將它們放入OnCreate中。沒有理由一直覆蓋'Adapter'。 – Cheesebaron 2013-03-20 18:01:13

+0

事實上,如果不覆蓋適配器,它將不起作用。相反,它會崩潰,因爲ArrayAdapter可能有一個錯誤。 – Softlion 2013-10-15 16:04:37

相關問題