我如何从android中的数组内容值获取(键,值)

问题描述 投票:0回答:3

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

这是我的问题:我创建了一个扩展

Asynctask
的类来设置数据库中的值。 但我在泛型类型中设置的参数是
ContentValues

class putInformationToDB extends AsyncTask<ContentValues, Integer, Integer>

然后,当我调用execute方法来运行它时,我设置了之前创建的

ContentValues
,以从注册表和对话框中获取所有值。 但现在在方法中:

protected Integer doInBackground(ContentValues... params)

我有一个问题。参数是一个

ContentValues
数组,我不知道如何取回值/键。如果它是
ContentValues
,我会用
Iterator
map
取回值。但我不知道如何先将其转化为
ContentValues
。 :-(

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

java android arrays android-asynctask threadpool
3个回答
3
投票

您可以简单地迭代数组:

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

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

ContentValues c = params[0];

1
投票

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


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));       
    }
© www.soinside.com 2019 - 2024. All rights reserved.