2013-03-20 31 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

相关问题