小编sty*_*972的帖子

以编程方式为视图创建资源 ID

View包含一个方法setId(int)。我的问题是,如何以编程方式为对象提供一个不与任何资源 ID 重叠的 ID R

android view android-resources

5
推荐指数
1
解决办法
3954
查看次数

在Swift中展平多个数组的所有值

我有一个整数数组字典,如下所示:

let numbers = [1: [2, 3], 4: [5, 6, 7], 8: [9]]

我真正想要的是所有值(它们本身就是数组)的单个扁平数组,如下所示:

[2, 3, 5, 6, 7, 9]

现在,我已经能够致电numbers.values.array:

[[2, 3], [5, 6, 7], [9]]

但我正在寻找的是将这一步进一步合并,将它们弄平.

Swift(1.1或1.2)是否为此提供了便利方法?

arrays swift

5
推荐指数
3
解决办法
2009
查看次数

Android 资产文件夹中的 Filenotfound 异常?

从 Assets/sb/example/simple.html/ 下的文件读取时,它给出了 filenotfound 异常。

11-01 18:30:13.562: WARN/System.err(912): java.io.FileNotFoundException: file:///android_asset/sb/example/simple.html
Run Code Online (Sandbox Code Playgroud)

代码片段是

try {
    final AssetManager assetMgr = ctx.getResources().getAssets(); 
    is = assetMgr.open(path, AssetManager.ACCESS_STREAMING);
    // is = getAssets().open(file.getAbsolutePath());
} catch (IOException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

android

3
推荐指数
1
解决办法
1万
查看次数

直接跟随@SuppressWarnings的Eclipse错误("未选中")

我似乎遇到了一些问题,这个问题是从文件反序列化包含MyObject类型的ArrayList得到的警告.我得到的错误信息来自该行

objects = (ArrayList<MyObject>) ois.readObject();
Run Code Online (Sandbox Code Playgroud)

它写道:

Type safety: Unchecked cast from Object to ArrayList<MyObject>
Run Code Online (Sandbox Code Playgroud)

在我将@SuppressWarnings("unchecked")应用于特定警告后,它表示我的对象对象无法解析为某种类型.

ArrayList<MyObject> objects;
try {
    FileInputStream fis = new FileInputStream(new File("myfile.txt"));
    ObjectInputStream ois = new ObjectInputStream(fis);
    @SuppressWarnings("unchecked")
    objects = (ArrayList<MyObject>) ois.readObject(); //Getting 'objects cannot be resolved to a type'
    fis.close();
}

catch (Exception e) {
    objects = new ArrayList<MyObject>();
}
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为如果我将@SuppressWarnings("unchecked")应用于整个方法,那么错误就会消失.此外,IS发生在多台机器,而不仅仅是一个设置.

当我只抑制错误的一个实例时,是否有人对正在发生的事情有任何见解使得此错误出现?

java eclipse generics android

3
推荐指数
1
解决办法
2233
查看次数

为什么Gson Preconditions会在这种情况下失败?

我正在为该类编写一个反序列化器ForeignCollection,它是abstractORMLite Android库中提供给我的.请参阅下面的代码.

public class ForeignCollectionDeserializer implements JsonDeserializer<ForeignCollectionDeserializer> {
    @Override
    public ForeignCollection deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我也试过实现JsonDeserializer<?>JsonDeserialzer(没有通用类型)

我正在使用GsonBuilder.registerTypeAdapter注册解串器.

GsonBuilder gb = new GsonBuilder();

gb.registerTypeAdapter(ForeignCollection.class, new ForeignCollectionDeserializer());
Gson gson = gb.create();
Run Code Online (Sandbox Code Playgroud)

然而,registerTypeAdapter()抛出这个:

06-11 11:27:27.937: E/AndroidRuntime(15197): FATAL EXCEPTION: main
06-11 11:27:27.937: E/AndroidRuntime(15197): Process: com.myapp, PID: 15197
06-11 11:27:27.937: E/AndroidRuntime(15197): java.lang.IllegalArgumentException
06-11 11:27:27.937: E/AndroidRuntime(15197):    at com.google.gson.internal.$Gson$Preconditions.checkArgument($Gson$Preconditions.java:42)
06-11 11:27:27.937: E/AndroidRuntime(15197):    at com.google.gson.GsonBuilder.registerTypeAdapter(GsonBuilder.java:448)
Run Code Online (Sandbox Code Playgroud)

我正在逐步完成代码,然后从 …

java android gson ormlite deserialization

3
推荐指数
1
解决办法
2852
查看次数

使用Swift中的Generics,'Object'不能转换为'T'

尝试在Swift中使用Generics时收到错误消息.我试图创建一个函数,它从继承的任何对象Parent,并修改inout它恰好是一个参考ArrayT: Parent

func myFunction<T: Parent>(data: NSDictionary, inout objects: Array<T>) {
    let myArray = data.valueForKey("the_array") as NSArray

    for object in myArray {
        var addMe: Object = Object()
        //...

        objects.append(addMe) //'Object' is not convertible to 'T'
    }

}
Run Code Online (Sandbox Code Playgroud)

我将它传递到堆栈上方的函数中.

var objects: [Object] = []

myClass.myFunction(data, objects: &objects)
Run Code Online (Sandbox Code Playgroud)

即使Object定义如下,继承自Parent

class Object: Parent {
    //...
}
Run Code Online (Sandbox Code Playgroud)

它给了我一个错误,它无法转换ObjectT..虽然我可能错误地解释了错误消息.有谁看到我做错了什么?

generics ios swift

3
推荐指数
1
解决办法
1888
查看次数

尝试删除 Android Realm 文件,但出现异常

我正在尝试删除 Realm 文件以在用户注销时清除缓存。

这是我正在尝试的:

Realm realm = Realm.getInstance(activity);

realm.close();
RealmConfiguration config = realm.getConfiguration();

Realm.deleteRealm(config);
Run Code Online (Sandbox Code Playgroud)

我得到这个例外:

11-05 23:56:00.902 27521-27521/com.my.app E/AndroidRuntime: java.lang.IllegalStateException: It's not allowed to delete the file associated with an open Realm. Remember to close() all the instances of the Realm before deleting its file.
11-05 23:56:00.902 27521-27521/com.my.app E/AndroidRuntime:     at io.realm.Realm.deleteRealm(Realm.java:1726)
Run Code Online (Sandbox Code Playgroud)

我显然正在关闭某些东西,但它说更多是开放的?我如何关闭所有领域,以便我可以吹掉所有东西并重新开始?

android realm

3
推荐指数
1
解决办法
3359
查看次数

延迟后模拟验证

verify延迟后 最好的方法是什么?

例如,我进行了一个调用postDelayed其他对象的方法调用,并且我想要验证的调用发生在该run()块中。

例如,使用 Mockito,您可以执行以下操作:

verify(mock, after(100).atMost(5)).foo();

verify(mock, after(100).never()).bar();

verify(mock, after(200).atLeastOnce()).baz();
Run Code Online (Sandbox Code Playgroud)

Mockk 有惯用的或现有的方式吗?

android kotlin mockk

3
推荐指数
1
解决办法
6085
查看次数

如果等式,预先浮点除法和检查值的效率

我有一种情况,我可能需要将一个乘数应用于一个值,以获得正确的结果.这涉及使用浮点除法计算值.

我认为在对它们执行浮点逻辑之前检查值是个好主意,以节省处理器时间,但是我不确定它在运行时的效率如何.

我假设if检查是1或2条指令(自汇编类以来已经有一段时间了),并且浮点运算将远不止于此.

//Check 
if (a != 10) {              //1 or 2 instructions?
    b *= (float) a / 10;    //Many instructions?
}
Run Code Online (Sandbox Code Playgroud)

价值a在大多数情况下将是"10",但有一些情况下它不会.即使a等于除数,浮点除法是否会占用很多周期?

具有该if语句的先前代码是否比仅具有该语句的下一个代码执行更有效?

//Don't check
b *= (float) a / 10;    //Many instructions?
Run Code Online (Sandbox Code Playgroud)

无论如何都不会有任何明显的区别,但是当事情变得处理器繁重时,我会对除数等于被除数时浮点乘法的行为感到好奇.

java math floating-point optimization division

2
推荐指数
1
解决办法
249
查看次数

在Go中附加二维切片

我的Go程序中有几个二维切片,我想将它们连接在一起。

但是,append()不要采用这种类型。

cannot use myArray (type [][]string) as type []string in append

如何以惯用方式使用Go附加多维切片?

arrays go multidimensional-array

2
推荐指数
1
解决办法
2952
查看次数