1

我正在关注这个简短的教程:http ://docs.xamarin.com/android/tutorials/User_Interface/list_view

这行有问题的代码

ListView.ItemClick += delegate (object sender, ItemEventArgs args) { //...

产生以下错误/警告

警告 CS0618:“Android.Widget.ItemEventArgs”已过时:“改用 AdapterView.ItemClickEventArgs”(CS0618) (HelloListView)

错误 CS1661:无法将匿名方法转换为委托类型“System.EventHandler”,因为参数类型与委托参数类型不匹配 (CS1661) (HelloListView)

错误 CS1678:参数 2 声明为“Android.Widget.ItemEventArgs”类型,但应为“Android.Widget.AdapterView.ItemClickEventArgs”(CS1678)(HelloListView)

我的解决方案是来自简短教程的逐字记录。如果我按照警告/错误的建议更改ItemEventArgs argsItemClickEventArgs args,那么我会收到一个不同的错误,表明它是does not exist in the current context.

4

1 回答 1

3
aListView.ItemClick += (object sender, AdapterView.ItemClickEventArgs args) 
  => ItemClicked(sender, args);

public void ItemClicked(object sender, AdapterView.ItemClickEventArgs args)
{
  try
  {
    String fName = ((TextView)args.View).Text;
    // Do something with clicked item text
  }
  catch (Exception) { throw; }
}
于 2012-09-06T18:08:42.030 回答