android中基类方法重写,关于android:覆盖或实现超类型方法[错误]

这篇博客讨论了作者在FragmentActivity中遇到的OnItemClickListener问题,尝试实现ListView的点击事件启动新活动时遇到的错误。错误提示表明onListItemClick方法未被正确重写。解决方案包括检查导入的类和使用支持库。最终,作者解决了问题,能够成功监听ListView的点击事件并启动新活动。
摘要由CSDN通过智能技术生成

我正在尝试创建OniteClick方法以从我的ListView启动另一个活动。创建方法后,我将收到多个错误。错误消息为:

loginlist类型的方法onlistitemclick(listview,view,int,long)必须重写或实现父类型方法

对于类型FragmentActivity,方法OnListItemClick(listView,view,int,long)未定义。

我尝试过实现另一个方法(如下),但收到了类似的错误。我可以让任何人指出我做错了什么。例子帮助最大

方法:public void oniteclick(adapterview arg0,view arg1,int arg2,long arg3)

这是我的课:

public class LoginList extends FragmentActivity implements OnClickListener, AdapterView.OnItemClickListener, LoaderManager.LoaderCallbacks {

private ListView loginList;

private Button webLogin;

private SimpleCursorAdapter adapter;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.login_listview);

loginList = (ListView)findViewById(R.id.loginlist);

loginList.setOnItemClickListener(this);

webLogin = (Button)findViewById(R.id.button3);

webLogin.setOnClickListener(this);

//Specify fileds to display in the list

String[] from = new String[] { ListProvider.COLUMN_NAME_SITE };

//Bind fields to listview

int[] to = new int[] {R.id.nameView };

// Create CursorAdapter and set it to display

adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null, from, to);

loginList.setAdapter(adapter);

getSupportLoaderManager().initLoader(0, null, this);

}

@Override

public void onListItemClick (ListView l, View v, int position, long id) {  // 1.The method onListItemClick(ListView, View, int, long) of type LoginList must override or implement a supertype method

super.onListItemClick (l, v, position, id); //2. The method onListItemClick(ListView, View, int, long) is undefined for the type FragmentActivity

startActivity(new Intent(this, UpdateDeleteLoginList.class)

.putExtra(ListProvider.COLUMN_ROWID, id));

}

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent webLoginIntent = new Intent (this, LoginPlusActivity.class);

startActivity(webLoginIntent);

}

@Override

public Loader onCreateLoader(int ignored, final Bundle args) {

return new CursorLoader(this, ListProvider.CONTENT_URI, null, null, null, null);

}

@Override

public void onLoadFinished(Loader loader, Cursor cursor) {

adapter.swapCursor(cursor);

}

@Override

public void onLoaderReset (Loader loader) {

adapter.swapCursor(null);

}

}

你确定你有合适的进口货吗?在Eclipse中按ctrl+shift+o(组织导入)导入所有必需的类型。

您扩展了fragmentactivity,但不使用片段。

您有两种选择:

首先创建片段扩展列表片段,这是您实现onclick方法

第二个扩展ListActivity

谢谢回复。我已经实施了建议1。现在,由于FragmentActivity未扩展,因此我收到getLoaderManager()错误。"对于类型loginlist"",getSupportLoaderManager()方法未定义。有什么建议吗?

要在API<11中使用LoaderManager,必须使用支持库和片段。所以您必须使用第一个解决方案,或者将min api更改为11

我通过选择正确的导入(android.view.view.onclickListener)解决了这个问题。我导入了"android.content.dialogInterface.onclickListener",这给了我一个samme错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值