Получить элемент управления EditText из ListView в Xamarin Studio с помощью С#

Я использую Xamarin Studio с С#.

Я добавил элемент управления EditText в адаптер listview. И этот список динамически заполняется.

Теперь я хочу получить значение всего EditText в классе activity. Как я могу этого добиться?

`общедоступный класс PRDeptHeadApprovalDetailAdapter: BaseAdapter {Элементы списка; контекст деятельности;

    public PRDeptHeadApprovalDetailAdapter(Activity context, List<PRDeptHeadApprovalDetailAdapterInformation> 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<TextView>(Resource.Id.lbltdPermNo).Text = item.lbltdPermNo;
        view.FindViewById<TextView>(Resource.Id.lbltdItemName).Text = item.lbltdItemName;
        view.FindViewById<TextView>(Resource.Id.lbltdJustification).Text = item.lbltdJustification;
        view.FindViewById<TextView>(Resource.Id.lbltdSrce).Text = item.lbltdSrce;
        view.FindViewById<TextView>(Resource.Id.lbltdQuantity).Text = item.lbltdQuantity;
        EditText txtApproveQuantity = view.FindViewById<EditText>(Resource.Id.lbltdApproveQuantity);
        txtApproveQuantity.Text = item.lbltdApproveQuantity;
        // return the view, populated with data, for display
        return view;
    }
}`

person mshoaiblibra    schedule 21.01.2014    source источник
comment
у вас есть редактировать текст как строку списка?   -  person vipul mittal    schedule 21.01.2014
comment
Да, я использую EditText в списке для получения данных от пользователя.   -  person mshoaiblibra    schedule 21.01.2014
comment
можешь выложить код адаптера??   -  person vipul mittal    schedule 21.01.2014
comment
Я пытаюсь пройти мимо своего класса адаптера, но здесь я не допускаю большего характера. Но я использую тот же URL-адрес проверки этого класса адаптера. [ссылка]docs.xamarin.com/guides/android /пользовательский_интерфейс/   -  person mshoaiblibra    schedule 21.01.2014


Ответы (1)


Сначала создайте объект вашего ListView Adapter

titleAdapter = new TitleAdapter();

Затем вы можете получить каждую позицию значения listview EditText с помощью position представления списка

View view = titleAdapter .getView(position, null, null);
EditText edittext= (EditText ) view.findViewById(R.id.edittext_id_here);
edittext.getText();
person Md Abdul Gafur    schedule 21.01.2014
comment
Ваш пост полезен. Но я не получаю решения. без доступа к конструктору параметров. Например, titleAdapter = new TitleAdapter(); И если я использую EditText edittext = (EditText)view.FindViewById(Resource.Id.lbltdApproveQuantity);, он не получает EditText. :( Я использую Xamarin Studio с C#. - person mshoaiblibra; 21.01.2014
comment
Как я могу вставить... потому что здесь нельзя... :( - person mshoaiblibra; 21.01.2014
comment
Я редактирую ваш пост. это поможет получить ваш ответ. Это решение для Android Native sdk. - person Md Abdul Gafur; 21.01.2014
comment
Большое спасибо, Гафур. Я использую тот же URL проверки класса адаптера. [ссылка]docs.xamarin.com/guides/android /пользовательский_интерфейс/ - person mshoaiblibra; 21.01.2014
comment
На самом деле имя моего класса адаптера — PRDeptHeadApprovalDetailAdapter. Но я использую ту же технику в своем мобильном приложении. И мое требование состоит в том, что я заполняю список с помощью WCF, а пользователь вводит некоторую информацию, затем я получаю эту информацию из списка и сохраняю в БД с помощью WCF. - person mshoaiblibra; 21.01.2014
comment
давайте продолжим это обсуждение в чате - person Md Abdul Gafur; 21.01.2014
comment
Объект PRDeptHeadApprovalDetailAdapter = новый PRDeptHeadApprovalDetailAdapter(this, List‹item›); listView.setAdapter (объект); for(int i=0 ; i‹ object.getCount() ; i++) { View view = object.getView(position, null, null); EditText edittext= (EditText ) view.findViewById(R.id.edittext_id_here); редактироватьтекст.получитьтекст(); } - person Md Abdul Gafur; 21.01.2014
comment
Да, этот пост полезен. Спасибо - person mshoaiblibra; 21.01.2014
comment
Абдул, Ваш пост был очень полезен для меня. Но я столкнулся с проблемой, что я получаю старое значение из EditView. Но мне нужно новое значение, которое вводит пользователь. Пожалуйста, помогите мне в этом вопросе. - person mshoaiblibra; 22.01.2014
comment
@mshoaiblibra, вы нашли решение для получения старого значения из EditView? - person CDrosos; 20.08.2020