我正在使用VS 2012在Android应用上工作。实际上,我想实现这个目标:
// 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()事件。原因是,我正在使用 Xamarin 在C#中工作。我想获得 ListView 的选择值或项目。我怎么能这样做?
答案 0 :(得分:13)
让您的活动实现ListView.IOnItemClickListener,如下所示:
public class SomeActivity: Activity, ListView.IOnItemClickListener
获取您的列表视图的反映:
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.
}
答案 1 :(得分: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);
};
}
答案 2 :(得分:3)
您可以使用ItemClick和委托来放置您的事件代码,如下所示:
lv.ItemClick += delegate(object sender, Android.Widget.AdapterView.ItemClickEventArgs e)
{
//Your code here
}