2013-07-11 69 views
2

我正在使用VS 2012工作Android應用程序。其實,我想實現這一點:使用VS 2012的Xamarin中的Android Listview項目選擇C#

// lv = My listView Name. 
lv.setOnItemClickListener(new OnItemClickListener() 
{ 
    public void onItemClick(AdapterView<?> myAdapter, View myView, int myItemInt, long mylng) 
    {  
     String selectedFromList =(String) (lv.getItemAtPosition(myItemInt)); 
    } 
}); 

但是,我沒有得到setOnItemClickListener()事件。原因是,我正在使用C#使用Xamarin。我想要獲得選擇值或項目ListView。我如何做到這一點?

+0

不要忘記標記正確的答案,可以幫助你 –

回答

12

讓你的活動實施ListView.IOnItemClickListener這樣的:

public class SomeActivity: Activity, ListView.IOnItemClickListener 

得到一個refence您的ListView這樣的:

LsitView LV = FindViewById<ListView>(Resource.Id.id_in_axml); 

然後OnItemClickListner設置爲活動,因爲我們要實現界面ListView.IOnItemClickListener

lstItems.OnItemClickListener = this; 

最後添加到您的活動類:

public void OnItemClick(AdapterView parent, View view, int position, long id) 
{ 
//whatever you need it to do goes here. 
} 
3

您可以使用項目單擊和委託把你的事件代碼,像這樣:

lv.ItemClick += delegate(object sender, Android.Widget.AdapterView.ItemClickEventArgs e) 
{ 
    //Your code here 
} 
4

下面是完整的代碼片段:

private List<String>namess; 
    private ListView listvieww; 
    protected override void OnCreate (Bundle bundle) 
    { 
     base.OnCreate (bundle); 

     SetContentView (Resource.Layout.Main); 

     listvieww = FindViewById<ListView> (Resource.Id.listView1); 


     namess = new List<String>(); 

     namess.Add("Security Solution"); 
     namess.Add("software"); 
     namess.Add("hardware"); 
     ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, Android.Resource.Layout.SimpleListItem1,namess); 

     listvieww.Adapter = adapter; 
     //listvieww.ItemClick += listView_ItemClick; 


     listvieww.ItemClick += (object sender, Android.Widget.AdapterView.ItemClickEventArgs e) => 
     { 
      string selectedFromList = listvieww.GetItemAtPosition(e.Position).ToString(); 

      Console.WriteLine(selectedFromList); 
     }; 

    } 
+0

我想出了一些類似於ItemClick的東西,但我不明白它在我的情況下不起作用......你可以看看ht tp://stackoverflow.com/questions/36491960/how-to-retrieve-the-row-content-of-a-listview-item-when-user-clicks-on-it謝謝! –