最新的Android ADT更新破坏了我的生活.有没有办法下载并安装旧的ADT(14之前)到干净的Eclipse安装?我没有在任何地方找到该文件.
编辑:我不再需要这个,但如果有人知道答案,继续说出来.
我更新到最新的Android ADT,现在我工作区中的每个项目都显示错误,尽管实际文件中没有任何内容.即使是一个干净的Android项目也会出现错误,即使我已经仔细检查了所有首选项,但我没有找到任何修复程序,尽管我已多次调查每个可能的帮助论坛.
我收到了很多随机错误消息,这里只是一些:"当前文件与给定配置不匹配.","转换为Dalvik格式失败,错误1"(不再是),"无效的首选项页面路径:XML语法","无法加载项目的属性文件*"等.
我的所有项目在更新前都有效.
以下都不起作用:清理项目,删除项目并再次导入,删除库和临时文件以及修复项目属性,取消选中Is Library,更新ProGruad,更新Eclipse,将Eclipse移动到C:\ Eclipse,更改API级别和支持的Android版本等...
我已经和这个问题斗争了一段时间了.
编辑:以下的东西也不起作用:删除LibraryName_src文件(我的项目没有).
编辑:我取消选中常规首选项中的一个复选框,使Eclipse延迟打包(我稍后会检查该复选框的名称),当前错误消失但现在它说"找不到*.apk!"
我正在尝试用 Java 创建一个类数组。不是对象,而是类。目前,我有一个类 MyBaseClass,并从中扩展了三个类 MyClass1、MyClass2 和 MyClass3。我将这些类存储到静态数组中,如下所示:
private static MyBaseClass[] classes = {
new MyClass1(),
new MyClass2(),
new MyClass3()
};
public static MyBaseClass getInstanceOfClass(int index) {
return classes[index];
}
Run Code Online (Sandbox Code Playgroud)
然后我使用这样的方法:
try {
MyBaseClass obj = getInstanceOfClass(index).getClass().newInstance();
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
现在我想知道是否可以以更简单的方式做到这一点。如果我可以创建一个类数组,我也许能够逃避 getInstanceOfClass() 方法和一些可能的异常。我尝试这样做:
private static Class<MyBaseClass>[] classes = {
MyClass1.class,
MyClass2.class,
MyClass3.class
};
Run Code Online (Sandbox Code Playgroud)
但这给了我一个错误“不兼容的类型”,因为 MyClass1 不等于 MyBaseClass。有趣的是,这似乎有效:
private static Class<?>[] classes = {
new MyClass1().getClass(),
new MyClass2().getClass(),
new MyClass3().getClass()
};
Run Code Online (Sandbox Code Playgroud)
但这个想法很可怕,它甚至被我的调试器标记了。那么,还有更好的方法吗?
编辑:
这有效:
private static …Run Code Online (Sandbox Code Playgroud)