gpt4 book ai didi

java - 无法将 View.getTag 转换为 ArrayList

转载 作者:行者123 更新时间:2023-12-01 18:53:53 24 4
gpt4 key购买 nike

我的 Android 应用程序由于此异常而崩溃,我不明白为什么会发生此异常:

java.lang.ClassCastException: java.lang.String cannot be cast to java.util.ArrayList

下面是我的代码。

private void setAllData(View v)
{
ArrayList<String> idList = new ArrayList<String>();
boolean added=false;
for(String chid:checkedList)
{
SortedSet<String> ts = new TreeSet<String>();
int id=txt2Id.get(chid);
View v1=v.findViewById(id);
if(v1!=null)
{
Log.e("---- Value of v1 ----", v1.getTag().toString());

// I am getting ClassCast exception on the below line

ArrayList<String>vidList=(ArrayList<String>) v1.getTag(id);

if(vidList==null||vidList.size()==0)
{
((CustomFragment) getActivity()).updateTab4List(new ArrayList<String>());
return;
}
else
{
if(!added)
{
idList=vidList;
added=true;
}
else if(idList.size()==0)
{
((CustomFragment) getActivity()).updateTab4List(idList);
return;
}
else
{
ArrayList<String> temp = new ArrayList<String>();
int i=0;
for(String str:idList)
{
if(vidList.contains(str))
temp.add(str);
}
idList=temp;
}
}
}
}
if(checkedList.size()==0)
idList=null;
((CustomFragment) getActivity()).updateTab4List(idList);
}

最佳答案

View 类的方法 getTag() 返回一个对象。请参阅http://developer.android.com/reference/android/view/View.html#getTag()

您无法将其转换为 ArrayList。该表达式不合法

 ArrayList<String>vidList=(ArrayList<String>) v1.getTag(id);

也许你想要

 ArrayList<String> vidList = new ArrayList<String>();
vidList.add((String) v1.getTag(id));

关于java - 无法将 View.getTag 转换为 ArrayList<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14825706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com