使用C#从Xamarin Studio中的ListView获取EditText控件

我正在使用带有C#的Xamarin Studio。

我在listview适配器中添加了EditText控件。 此列表是动态填充的。

现在我希望获得活动类中所有EditText的值。 我怎么能做到这一点?

`public class PRDeptHeadApprovalDetailAdapter:BaseAdapter {List items; 活动背景;

public PRDeptHeadApprovalDetailAdapter(Activity context, List items) : base() { this.context = context; this.items = items; } public override long GetItemId(int position) { return position; } public override string this[int position] { get { return items[position].ToString(); } } public override int Count { get { return items.Count; } } public override View GetView(int position, View convertView, ViewGroup parent) { var item = items[position]; View view = convertView; // re-use an existing view, if one is supplied if (view == null) // no view to re-use, create new view = context.LayoutInflater.Inflate(Resource.Layout.PRDeptHeadApprovalDetailAdapter, null); // set view properties to reflect data for the given row view.FindViewById(Resource.Id.lbltdPermNo).Text = item.lbltdPermNo; view.FindViewById(Resource.Id.lbltdItemName).Text = item.lbltdItemName; view.FindViewById(Resource.Id.lbltdJustification).Text = item.lbltdJustification; view.FindViewById(Resource.Id.lbltdSrce).Text = item.lbltdSrce; view.FindViewById(Resource.Id.lbltdQuantity).Text = item.lbltdQuantity; EditText txtApproveQuantity = view.FindViewById(Resource.Id.lbltdApproveQuantity); txtApproveQuantity.Text = item.lbltdApproveQuantity; // return the view, populated with data, for display return view; } }` 

首先创建ListView Adapter对象

 titleAdapter = new TitleAdapter(); 

然后,您可以通过listview EditText位置获取listview EditText Value的每个位置

 View view = titleAdapter .getView(position, null, null); EditText edittext= (EditText ) view.findViewById(R.id.edittext_id_here); edittext.getText(); 
      //**********************************************************************************// ListView lstItems = (ListView)view.FindViewById(Resource.Id.lstInvoiceItems); var v = (ViewGroup)lstItems; factureItems.Clear(); KeyValuePair items = new KeyValuePair(); for(int i = 0; i < v.ChildCount; i++) { var linear = (ViewGroup)(v.GetChildAt(i)); var editTextKey = (EditText)linear.GetChildAt(0); var EditTextValue = (EditText)linear.GetChildAt(1); item.Add(new KeyValuePair(editTextKey.Text,EditTextValue.Text)); }