New to Telerik UI for Xamarin? Download free 30-day trial

Autocomplete editor in Android

This example will demonstrate how to add an autocomplete editor for a property called City on Android.

First, let's create the source object:

public class SourceItem : NotifyPropertyChangedBase
    private string city;

    [DisplayOptions(Header = "City")]
    public string City
        get { return; }
            if ( != value)
       = value;

Then you have to specify that a custom editor will be used for the City property.

this.dataForm.RegisterEditor("City", EditorType.Custom);

Then you have to inherit from the default DataFormRenderer and override some of its methods.

public class AutoCompleteEditorRenderer : DataFormRenderer
    private readonly Java.Lang.Object[] items = new Java.Lang.Object[] { "Madrid", "Paris", "Barcelona", "New York", "Budapest", "Melbourne", "Bangkok" };

    public AutoCompleteEditorRenderer(Context context): base(context)

    protected override NativeCore.EntityPropertyEditor GetCustomEditorForProperty(NativeViz.RadDataForm form, NativeEngine.IEntityProperty nativeProperty, Telerik.XamarinForms.Input.DataForm.IEntityProperty property)
        if (nativeProperty.Name() == "City")
            return new NativeEditors.DataFormAutoCompleteEditor(form, nativeProperty);

        return base.GetCustomEditorForProperty(form, nativeProperty, property);

    protected override void UpdateEditor(NativeCore.EntityPropertyEditor editor, Telerik.XamarinForms.Input.DataForm.IEntityProperty property)
        base.UpdateEditor(editor, property);

        if (editor.Property().Name() == "City")
            var autoComplete = editor.EditorView as AutoCompleteTextView;
            autoComplete.Adapter = new ArrayAdapter(this.Context, Resource.Layout.data_form_autocomplete_item, this.items);

Where the following namespaces are used:

using Android.Content;
using Android.Widget;
using NativeViz = Com.Telerik.Widget.Dataform.Visualization;
using NativeEngine = Com.Telerik.Widget.Dataform.Engine;
using NativeCore = Com.Telerik.Widget.Dataform.Visualization.Core;
using NativeEditors = Com.Telerik.Widget.Dataform.Visualization.Editors;
using Telerik.XamarinForms.InputRenderer.Android;
using Xamarin.Forms;

You have to define the data_form_autocomplete_item resource in the Resources\layout folder of the Android project. If the folder is missing, you have to create it. Then add the the following file: data_form_autocomplete_item.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android=""

After that you will have to replace the default DataFormRenderer with the new one in MainActivity.cs:

[assembly: ExportRenderer(typeof(Telerik.XamarinForms.Input.RadDataForm), typeof(AutoCompleteEditorRenderer))]


AutoComplete Editor

See Also

In this article