Java Android广告请求。字符串数组中的关键字

Java Android广告请求。字符串数组中的关键字,java,android,arrays,admob,Java,Android,Arrays,Admob,我正在尝试将存储在R.array.list中的数组列表中的每个项添加到admob的adrequest中。当我记录这个地址时,我会得到类似“com.google.ads”的东西。AdRequest@42168310". 这似乎不对,因为我在输出请求时通常会得到一个实际的列表,我通常通过以下操作手动在java中添加每个项目: adRequest.addKeyword("thisisakeyword"); 以下是我正在尝试的: keyWords = getResources().getStringA

我正在尝试将存储在R.array.list中的数组列表中的每个项添加到admob的adrequest中。当我记录这个地址时,我会得到类似“com.google.ads”的东西。AdRequest@42168310". 这似乎不对,因为我在输出请求时通常会得到一个实际的列表,我通常通过以下操作手动在java中添加每个项目:

adRequest.addKeyword("thisisakeyword");
以下是我正在尝试的:

keyWords = getResources().getStringArray(R.array.key_words);

    int count = 0;
    while (count < keyWords.length) {
        adRequest.addKeyword(keyWords[count]);
        count++;
    }
    System.out.println(String.valueOf(adRequest.toString()));
keyWords=getResources().getStringArray(R.array.keyWords);
整数计数=0;
while(计数<关键字长度){
addKeyword(关键字[计数]);
计数++;
}
System.out.println(String.valueOf(adRequest.toString());

有什么想法吗?

我自己想出来的。万一有人碰到这个。诀窍是将数组添加到集合中,然后将集合添加到ad请求中

    AdRequest adRequest = new AdRequest();
    String[] keywords = getResources().getStringArray(R.array.key_words);
    Set<String> set = new HashSet<String>();
    int count = 0;
    while (count < keywords.length) {
        set.add(keywords[count]);
        count++;
    }
    adRequest.addKeywords(set);
    adView.loadAd(adRequest);
AdRequest AdRequest=新AdRequest();
字符串[]关键字=getResources().getStringArray(R.array.keywords);
Set=newhashset();
整数计数=0;
while(计数<关键字长度){
set.add(关键字[count]);
计数++;
}
addRequest.addKeywords(集合);
adView.loadAd(adRequest);

我在尝试做同样的事情时遇到了这个问题,并意识到它过于复杂,而且您正在创建不必要的变量。实际上,您不需要创建集合或计数器

请尝试以下方法:

Builder adRequestBuilder = new AdRequest.Builder();
String[] keywords = getResources().getStringArray(R.array.key_words);
for (String keyword : keywords) {
    adRequestBuilder.addKeyword(keyword);
}
希望这有帮助