onlisttitemclick(..)被标记为覆盖,但没有找到合适的方法来覆盖
本文关键字:覆盖 方法 记为 onlisttitemclick | 更新日期: 2023-09-27 18:02:50
我已经从适配器创建了一个ListView,但是我想选择项目,这在新的活动中给出了关于这个项目的信息。
这是我的代码:
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
如果您想在MainActivity
中覆盖OnListItemClick
,则必须从ListActivity
继承活动,而不是简单的旧Activity
。
此外,确保Listview
在你的xml是与id "@android:id/list"(或list
,如果它是在代码)。
有一个很好的指南你可以遵循:用数据填充ListView
您需要删除覆盖,然后在设置的某个地方,您需要将您的方法与列表上的click事件挂钩。
通常是这样做的:
myList.OnClick += new ClickEventHandler(myMethodName);
但是我没有使用monodroid,所以可能会有一些细微的差别。
尝试如下:
@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);
}