1

我会说一点英语,如果很难阅读,请见谅。

这是我的问题。我做了一个扩展 Asyntask 的类来为数据库设置值。但是我在泛型类型中设置的参数是 ContentValues。

class putInformationToDB extends AsyncTask<ContentValues, Integer, Integer>

然后,当我调用执行方法来运行它时,我设置了一个我之前创建的内容值,以从注册表和对话框中获取所有值。但现在在方法中:

protected Integer doInBackground(ContentValues... params)

我有个问题。参数是一个数组内容值,我不知道如何取回值/键。如果它是一个内容值,我会用迭代器和映射取回这些值。但我不知道如何首先将其转换为 contentvalues。:-(

我正在考虑传递另一种参数,例如 String,然后通过循环获取它并将其放入 ContentValues 中。

4

3 回答 3

3

您可以简单地遍历数组:

for(ContentValues c : params){
    //do something with c
}

或者如果您确定数组中只有一个元素,您可以直接访问它:

ContentValues c = params[0];
于 2013-04-26T16:20:16.947 回答
1

如果你传递了一个数组。您可以简单地使用 `ContentValues[] arr = params[0];

于 2013-04-26T16:11:40.490 回答
1

要从ContentValues中获取键,请使用 for 来获取每个键集:

    ContentValues c = new ContentValues();
    ...
    ...
    for(String key : response.keySet()){
       System.out.println("key : " + key);       
    }

但是,如果您想将每个键的值放入ContentValue中,请使用方法get(String key)

    for(String key : response.keySet()){
       System.out.println("key : " + key + " value: " + response.get(key));       
    }
于 2018-12-04T21:33:40.333 回答