2015-10-26 47 views
1

我是Xamarin的新手。我試圖將一個對象綁定到Xamarin Android中的AutocompleteTextView。我能夠附加適配器,但是當我在AutoCompleteTextView中輸入文本時,對象按原樣顯示,而不是文本。我爲Item Click添加了事件處理程序,並能夠獲取我想要顯示的值。 下面是我的代碼和任何幫助或指示如何得到顯示作爲建議的價值。Xamarin Android中的AutocompleteTextView

主要活動

公共類MainActivity:活動 { 詮釋計數= 1;

protected override void OnCreate (Bundle bundle) 
    { 
     base.OnCreate (bundle); 

     // Set our view from the "main" layout resource 
     SetContentView (Resource.Layout.Main); 

     // Get our button from the layout resource, 
     // and attach an event to it 
     Button button = FindViewById<Button> (Resource.Id.myButton); 

     //button.Text = 
     MainActivityModel Mv = new MainActivityModel(); 
     ArrayAdapter<AutoCompleteTextModel> adapter = new ArrayAdapter<AutoCompleteTextModel> 
      (this,Android.Resource.Layout.SimpleDropDownItem1Line,Mv.StationsList); 

     AutoCompleteTextView actv = FindViewById<AutoCompleteTextView>(Resource.Id.source); 

     actv.Adapter = adapter; 
     //actv.Threshold = 1; 

     actv.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) => { 
      actv.Text = Mv.StationsList[e.Position].StationName; 
     }; 

     actv.TextChanged += (object sender, Android.Text.TextChangedEventArgs e) => { 

      new ArrayAdapter (
       this, 
       Android.Resource.Layout.SimpleListItem1, 
       Mv.StationsList.FindAll (a => a.StationName.Contains(actv.Text)).ToArray()); 
     }; 


     button.Click += delegate { 
      button.Text = string.Format ("{0} clicks!", count++); 
     }; 
    } 
} 

AutoCompleteTextViewModel

公共類AutoCompleteTextModel { 公共字符串工作站名稱{獲得;組; } public int StationId {get;組; }

public AutoCompleteTextModel() 
    { 
    } 
} 

公共類MainActivityModel { 公開名單StationsList;

public MainActivityModel() 
    { 
     StationsList = new List<AutoCompleteTextModel>(); 

     StationsList.Add (new AutoCompleteTextModel() {StationId = 1, StationName = "Chennai Beach" 
     }); 
     StationsList.Add (new AutoCompleteTextModel() {StationId = 1, StationName = "Chennai Fort" 
     }); 
     StationsList.Add (new AutoCompleteTextModel() {StationId = 1, StationName = "Chennai Park" 
     }); 
     StationsList.Add (new AutoCompleteTextModel() {StationId = 1, StationName = "Chennai Egmore" 
     }); 
     StationsList.Add (new AutoCompleteTextModel() {StationId = 1, StationName = "Chetpet" 
     }); 
} 

}

回答

2

enter image description here

_objGeneralDetailProductType是AutoCompleteTextView

的OBJECTTYPE

你可以試試這個綁定在自動列表中完成,因爲在我的手,我使用它,它是工作正常。

+0

您還應該定義列表中的數據類型。假設,如上所述。向他解釋如何使用上面的列表,如何訪問「StationName」。 –

相關問題