我说一点英语,对不起,如果它难以阅读。
这是我的问题。我做了一个扩展Asyntask的类来为数据库设置值。 但我在泛型类型中设置的参数是ContentValues。
class putInformationToDB extends AsyncTask<ContentValues, Integer, Integer>
然后当我调用execute方法来运行它时,我设置了我之前创建的contentvalues来获取注册表和对话框中的所有值。 但现在在方法中:
protected Integer doInBackground(ContentValues... params)
我有问题。 paremeter是一个数组内容值,我不知道如何取值/键。如果它是contentvalues,我会用迭代器和map来取回值。但我不知道如何首先在内容值中对其进行转换。 : - (
我正在考虑传递另一种类似String的参数,然后通过循环获取它并将其放在ContentValues中。
答案 0 :(得分:3)
您可以简单地遍历数组:
for(ContentValues c : params){
//do something with c
}
或者如果你确定数组中只有一个元素,你可以直接访问它:
ContentValues c = params[0];
答案 1 :(得分:1)
如果您已通过数组。你可以简单地使用它 `ContentValues [] arr = params [0];
答案 2 :(得分:0)
要从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));
}