我试图从我的数组列表中复制元素然后将其传递给我的活动。同样在我的if语句中我检查gfList不等于0 java抱怨无法从GroupedFeed转换为int。如果有人知道什么是问题,并可以告诉我如何复制和过去元素到我的活动,我会很感激。提前致谢!这是我的代码:
// I created my for loop but that did not work
GroupedFeed findFeed(String locateSport){
if ((int) gfList != 0){
for(int i = 0; i != gfList.size();i++){
if(gfList[i].category.equalsIngnoreCase(locateSport)){
}
}
return gfResult;
}
}
public boolean onChildClick(ExpandableListView parent,
android.view.View v, int groupPosition, int childPosition,
long id) {
switch (groupPosition){
case 0:
switch (childPosition){
case 0:
// gfResult = findFeed("Men's Baseball");
Baseball(); // pass gfResult
break;
}
return false;
}
private void Baseball() {
Intent myIntent = new Intent(MainActivity.this, Baseball.class);
startActivity(myIntent);
}
});
Main myMain = new Main();
try {
// AssetManager aMan = getAssets();
this.gfList = myMain.loadRSS();
} catch (Exception e) {
System.out.println("Hosed");
}
}
}
这是我的数组列表:
this Main (id=831962574768)
groupedFeeds ArrayList (id=831963150464)
array Object[12] (id=831963153088)
[0] GroupedFeed (id=831963152968)
category "Women's Golf" (id=831962986192)
feeds ArrayList (id=831963152992)
[1] GroupedFeed (id=831963153592)
category "Volleyball" (id=831962991720)
feeds ArrayList (id=831963153616)
[2] GroupedFeed (id=831963153744)
category "Men's Soccer" (id=831962996544)
feeds ArrayList (id=831963153768)
[3] GroupedFeed (id=831963153896)
category "Women's Soccer" (id=831963006320)
feeds ArrayList (id=831963153920)
[4] GroupedFeed (id=831963154864)
category "Men's Golf" (id=831963016488)
feeds ArrayList (id=831963154888)
[5] GroupedFeed (id=831963155072)
category "Men's Cross Country" (id=831963036816)
feeds ArrayList (id=831963155096)
[6] GroupedFeed (id=831963155224)
category "Women's Cross Country" (id=831963041984)
feeds ArrayList (id=831963155248)
[7] GroupedFeed (id=831963155472)
category "Men's Bowling" (id=831963093056)
feeds ArrayList (id=831963155496)
[8] GroupedFeed (id=831963155712)
category "Women's Bowling" (id=831963098224)
feeds ArrayList (id=831963155736)
[9] GroupedFeed (id=831963155864)
category "Women's Basketball" (id=831963170720)
feeds ArrayList (id=831963155888)
[10] GroupedFeed (id=831963157504)
category "Men's Basketball" (id=831963299944)
feeds ArrayList (id=831963157528)
[11] null
modCount 11
size 11
loader RSSLoader (id=831962575480)
aMan AssetManager (id=831962469744)
答案 0 :(得分:1)
您尝试使用此行将List强制转换为int:
if ((int) gfList != 0) {
for(int i = 0; i != gfList.size();i++) {
...
}
gfList
是一个List,不能转换为int。也许列表中的值是整数,但List本身不是int。
答案 1 :(得分:0)
gfList是一种编译器不知道如何转换为int
的类型。假设检查是为了确保gfList中有某些东西,你可以尝试这样的东西(摆脱if,因为如果列表中没有任何东西,那么大小将为0而我将不会<大小为列表):
for(int i = 0; i < gfList.size();i++){
if(gfList[i].category.equalsIgnoreCase(locateSport)){
}
}
return gfResult;
if中也有一个拼写错误,你有equalsIngnoreCase
而不是equalsIgnoreCase
(额外的n)。
答案 2 :(得分:0)
我想,你打算检查if(gfList.size() != 0)
。你并不真的需要if语句,因为你的循环条件(它习惯于写i < gfList.size()
而不是i != gfList.size()
,即使它们在技术上是等价的)也会照顾它。
或者,如果你想检查gfList是否为null,那么它应该是gfList != null
。 0
和null
是java中两个非常不同的东西,不像&#34; C&#34;。
我不确定我理解你关于复制对象的问题。 java对象上有一个.clone()
方法。那是你在找什么?
答案 3 :(得分:0)
您没有包含实例化gfList的位置,尽管它显然不是整数。我认为您的意思是致电gfList.size() != 0
或!gfList.isEmpty()
GroupedFeed findFeed(String locateSport){
if ((!gfList.isEmpty()){
for (int i = 0; i != gfList.size();i++){
if (gfList.get(i).category.equalsIgnoreCase(locateSport)){
return gfList.get(i);
}
}
}
return null;
}
然后在调用此方法时处理获取null(找不到匹配项)的可能性