我已经从适配器创建了一个ListView,但是我想选择一些项目,它们会在新的Activity中提供有关此项目的信息。
这是我的代码:
protected override void OnListItemClick(ListView listview,
View view, int pos, long id)
{
var selectedvalue = sw_items[pos];
var i = new Intent(this, typeof(Activity1));
i.PutExtra("selectedvalue", selectedvalue);
StartActivity(i);
}
但是我收到了这个错误:
MainActivity.OnListItemClick(Android.Widget.ListView, Android.Views.View, int, long)' is marked as an override but no suitable method found to override (CS0115)
MainActivity是Activity
如何解决此问题,或者在Activity
答案 0 :(得分:2)
如果您要覆盖OnListItemClick
中的MainActivity
,则必须从ListActivity
而不是普通的Activity
中继承活动。
另外,请确保xml中的Listview
的ID为“@android:id / list”(如果是代码,则为list
。)
您可以遵循一个非常好的指南:Populating a ListView With Data。
答案 1 :(得分:1)
尝试以下方法:
@Override
protected void OnListClick(ListView listview, View view, int pos, long id) {
var selectedvalue = sw_items[pos];
var i = new Intent(this, typeof(Activity1));
i.PutExtra("selectedvalue", selectedvalue);
StartActivity(i);
}
答案 2 :(得分:1)
您需要删除覆盖,然后在设置中的某个位置,您需要将方法挂钩到列表中的click事件。
通常情况如下:
myList.OnClick += new ClickEventHandler(myMethodName);
但我没有使用过monodroid,所以可能会有一些细微的差别。