当重写Android方法时,Eclipse会插入arg0,arg1等而不是正确的参数名称

Mat*_*son 6 eclipse ide android

当我从Eclipse中的Android类重写方法时,我得到了无用的参数名称,如"arg0","arg1"等.例如,当SQLiteOpenHelper我从上面获取方法时:

@Override
public void onCreate(SQLiteDatabase arg0) {
    // TODO Auto-generated method stub
}

@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
    // TODO Auto-generated method stub
}
Run Code Online (Sandbox Code Playgroud)

我已经找到了关于这个的各种帖子,但是没有一个被接受的解决方案似乎适合我.它也很奇怪,因为它似乎只在某些时候发生.例如,上述测试中的构造函数具有正确命名的参数.

已经得到了安装在Android SDK管理器是Android 4.4.2"为Android SDK文档".我是否还需要以某种方式手动附加文档(甚至源代码?)才能可靠地工作,如果是这样,我该如何解决这个问题呢?

谢谢!

Mat*_*son 5

正如评论中提到的@ greg-449,需要附加Android源才能实现此功能.

按照此链接中的步骤似乎解决了这个问题.

如果将来链接中断,步骤如下:

  1. 使用SDK Manager下载"Android SDK源代码"

  2. 右键单击android.jarEclipse Package Explorer(在Android {version}节点下),然后单击属性

  3. 在"Java Source Attachment"下,输入下载的源目录的路径,该目录与{sdk}/sources/android- {version}一致.

然后我得到这个:

@Override
public void onCreate(SQLiteDatabase db) {
    // TODO Auto-generated method stub
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub
}
Run Code Online (Sandbox Code Playgroud)

更新:作为参考,Android Studio中出现了类似的问题(撰写本文时为v0.4.2).可以通过文件 - >其他设置 - >默认项目结构附加源,选择SDKs,android平台并在"Sourcepath"选项卡中添加源.