как добавить значения динамического поля в список

#c# #xamarin.android

#c# #xamarin.android

Вопрос:

Название продукта, количество продукта и единица измерения продукта являются динамическими полями, когда я нажимаю кнопку генерировать поля продукта, мое приложение генерирует поля названия продукта, количества продукта и единицы измерения продукта, и моя проблема в том, как добавить или сохранить в список значения каждого из этих трех динамических полей?

     [Activity(Label = "ToExistingCustomer", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation, ScreenOrientation = ScreenOrientation.Landscape)]
    public class ToExistingCustomer : Android.Support.V7.App.AppCompatActivity
    {
        //IList<string> agentData = new List<string>();
        IList<string> agentList = new List<string>();
        IList<string> custList = new List<string>();
        IList<string> prodList = new List<string>();
        IList<string> _prodList = new List<string>();
        TableLayout tbleLayout;
        TableRow tr, _tr;
        private static Spinner spinner, spinner1, spinner2, spinner3, _spinner;
        private EditText qty, unit, _td1, _td2;
        private TextView txtdate;
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.ExistingCustomer);

            qty = FindViewById<EditText>(Resource.Id.qty);
            unit = FindViewById<EditText>(Resource.Id.unit);
            txtdate = FindViewById<TextView>(Resource.Id.txtdate);
            DateTime now = DateTime.Now.ToLocalTime();
            txtdate.Text = now.ToString();

            tbleLayout = FindViewById<TableLayout>(Resource.Id.tbleLayout);
            tr = FindViewById<TableRow>(Resource.Id.tr);






            agentList = Intent.GetStringArrayListExtra("agentList");
            agentList.Add("Select Agent Name");
            spinner = FindViewById<Spinner>(Resource.Id.spinner);

            custList = Intent.GetStringArrayListExtra("custList");
            custList.Add("Select Customer Name");
            spinner1 = FindViewById<Spinner>(Resource.Id.spinner1);

            prodList = Intent.GetStringArrayListExtra("prodList");

            spinner2 = FindViewById<Spinner>(Resource.Id.spinner2);




            spinner3 = FindViewById<Spinner>(Resource.Id.spinner3);
            var btn = FindViewById<Button>(Resource.Id.btn);
            var adapter3 = ArrayAdapter.CreateFromResource(this, Resource.Array.Recipient, Android.Resource.Layout.SimpleSpinnerItem);
            adapter3.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
            spinner3.Adapter = adapter3;
            //spinner3.SetBackgroundResource(Resource.Drawable.EditTxtStyle);

            ArrayAdapter<string> adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, agentList);
            spinner.Adapter = adapter;
            ArrayAdapter<string> adapter1 = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, custList);
            spinner1.Adapter = adapter1;

            ArrayAdapter<string> adapter2 = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleDropDownItem1Line, prodList);





            prodList.Add("Select Product Name");
            spinner2.Adapter = adapter2;



            btn.Click  = (sender, e) =>
            {
                _tr = new TableRow(this);
                _spinner = new Spinner(this);
                _td1 = new EditText(this);
                _td2 = new EditText(this);
                if (tbleLayout.ChildCount == 12)
                {
                    Toast.MakeText(this, "Sorry, you can only order 10 products at a time", ToastLength.Short).Show();
                    return;
                }
                else
                {
                    //_td1.LayoutParameters = new LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent);

                    _tr = new TableRow(new ContextThemeWrapper(this, Resource.Style.tableRow));


                    //_tr.SetPadding(2, 2, 2, 2);
                    //_tr.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams 0dp, ))



                    _td1.LayoutParameters = new TableRow.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent);

                    _td1.SetBackgroundResource(Resource.Drawable.auto_borderColor);
#pragma warning disable CS0618 // Type or member is obsolete
                    _td1.SetTextColor(Resources.GetColorStateList(Resource.Drawable.myColors));
#pragma warning restore CS0618 // Type or member is obsolete
                    _td1.SetHint(Resource.String.qty);

                    _td2.LayoutParameters = new TableRow.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent);

                    _td2.SetBackgroundResource(Resource.Drawable.auto_borderColor);
#pragma warning disable CS0618 // Type or member is obsolete
                    _td2.SetTextColor(Resources.GetColorStateList(Resource.Drawable.myColors));
#pragma warning restore CS0618 // Type or member is obsolete
                    _td2.SetHint(Resource.String.unit);



                    _spinner.SetBackgroundResource(Resource.Drawable.auto_DDarrow);

                    _spinner.SetPopupBackgroundResource(Resource.Drawable.spinnerPopBackground);


                    ArrayAdapter<string> _adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleDropDownItem1Line, prodList);

                    _spinner.Adapter = _adapter;

                    _tr.AddView(_spinner);

                    _tr.AddView(_td1);
                    _tr.AddView(_td2);
                    tbleLayout.AddView(_tr);

                    if(!TextUtils.IsEmpty(_td1.Text.ToString()) amp;amp; !TextUtils.IsEmpty(_td2.Text.ToString()) amp;amp; !TextUtils.IsEmpty(_spinner.ToString()))
                    {
                        return;
                    }
                    else
                    {
                        _prodList.Add(_spinner.ToString()   "|"   _td1.Text.ToString()   "|"   _td2.Text.ToString());
                    }


                }



            };


        }

    }
  

Я привожу скриншот внизу, чтобы было понятно.

введите описание изображения здесь

Комментарии:

1. Первое, что вам нужно сделать, это отформатировать размещенный здесь код

2. Вы имеете в виду изменение порядка или добавление элементов в список?

3. добавить в список на основе порядка строк таблицы..

4. forums.xamarin.com/discussion/152338 / … обновлено