AutoCompleteTextView позволяет пользователям выбирать строку из списка допустимых значений. Как я полагаю, каждый разработчик, который хочет использовать это ярмо, меня гораздо больше интересует идентификатор выбора пользователя, чем его строковая метка. Есть ли способ получить свойство id выбранного объекта или его индекс в исходном массиве?
Следующий код C # позволяет пользователям выбирать из списка SomeObject. Я работаю в Xamarin, но пусть это вас не смущает. Исправьте мою проблему в java, и я с радостью заставлю ее работать на C #
public class AutoCompleteField : PhysicalField
{
protected AutoCompleteTextView actv;
public AutoCompleteField(IList<SomeObject> choices, LogicalField logical, string id)
: base(logical, id)
{
_choices = choices;
}
protected ArrayAdapter<SomeObject> _adapter;
public override void addToView(LayoutInflater inflater)
{
var ctx = App_NotMobility.CurrentActivity;
actv = new AutoCompleteTextView(ctx);
actv.Id = _form.generateId();
// test choices
var _choices = new List<SomeObject>();
_choices.Add(new SomeObject(234, "Oranges"));
_choices.Add(new SomeObject(456, "Apples"));
_choices.Add(new SomeObject(789, "Bananas"));
_adapter = new ArrayAdapter<SomeObject>(ctx, Android.Resource.Layout.SimpleDropDownItem1Line, _choices);
actv.Adapter = _adapter;
actv.ItemClick += delegate(object sender, AdapterView.ItemClickEventArgs e)
{
// HOW DO I ACCESS THE ID OR THE INDEX OF USER'S SELECTION ?????????????????
};
_form.AddView(actv);
}
}
public class SomeObject
{
public int Id { get; set; }
public string Label { get; set; }
public SomeObject(int id, string label)
{
Id = id;
Label = label;
}
public override string ToString()
{
return Label;
}
}
android.widget.AdapterView.OnItemClickListener#onItemClick
документацию - person pskink   schedule 12.10.2015