我的ContentValues对象有字符串键,我想得到一个包含所有键的String []结果?
如何迭代ContentValues对象?
编辑1
在得到两个回复之后我想出了这个,你看到它的问题了吗?
ArrayList<String> ar = new ArrayList<String>();
ContentValues cv=data;
Set<Entry<String, Object>> s=cv.valueSet();
for (Entry<String, Object> entry : s) {
ar.add(entry.getKey());
}
String[] projection=new String[ar.size()];
ar.toArray(projection);
Run Code Online (Sandbox Code Playgroud)
Sou*_*hak 20
试试这个代码.只需将您ContentValues传入方法即可.
public void printContentValues(ContentValues vals)
{
Set<Entry<String, Object>> s=vals.valueSet();
Iterator itr = s.iterator();
Log.d("DatabaseSync", "ContentValue Length :: " +vals.size());
while(itr.hasNext())
{
Map.Entry me = (Map.Entry)itr.next();
String key = me.getKey().toString();
Object value = me.getValue();
Log.d("DatabaseSync", "Key:"+key+", values:"+(String)(value == null?null:value.toString()));
}
}
Run Code Online (Sandbox Code Playgroud)
根据文档,“valueSet()”方法返回一组所有键和值。然后,您可以在结果 Set 上使用迭代器,并在每个迭代的 Entry 元素上使用 getKey() 以将其收集到 String 数组中。
| 归档时间: |
|
| 查看次数: |
14129 次 |
| 最近记录: |