我正在尝试将存储在R.array.list中的数组列表中的每个项目添加到admob的adrequest中。当我记录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()));
任何想法?
答案 0 :(得分:0)
自己想出来。任何人都会遇到这个问题。诀窍是将数组添加到集合中,然后将该集合添加到广告请求中。
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);
答案 1 :(得分:0)
我在尝试做同样的事情时遇到了这个问题,并意识到它过于复杂并且你正在创造不必要的变量。您实际上并不需要创建一个集合或计数器。
请改为尝试:
Builder adRequestBuilder = new AdRequest.Builder();
String[] keywords = getResources().getStringArray(R.array.key_words);
for (String keyword : keywords) {
adRequestBuilder.addKeyword(keyword);
}
希望这有帮助。