我正在尝试在android中创建自定义ListView
适配器。我相信我的大部分都是正确的,但我得到的是ClassCastException, android.widget.TextView cannot be cast to java.util.List
以下是发生错误的代码部分:
public View getView(int position, View convertView, ViewGroup parent)
{
//create the cells and populating with the vector
View row = convertView;
if(row==null)
{
row = myInflater.inflate(android.R.layout.simple_list_item_1, parent, false);
}
TextView user = (TextView)row.findViewById(android.R.id.text1);
user.setText(((List<String>) user).get(position));
return row;
}
实现了我的问题,这是我犯下的一个非常愚蠢的错误。我有Textview称为用户,但也有我的名单称为用户,所以试图在同一行上引用它们,它搞砸了。这是正确的代码:
public View getView(int position, View convertView, ViewGroup parent)
{
//create the cells and populating with the vector
View row = convertView;
if(row==null)
{
row = myInflater.inflate(android.R.layout.simple_list_item_1, parent, false);
}
TextView user = (TextView)row.findViewById(android.R.id.text1);
user.setText(users.get(position));
return row;
}
答案 0 :(得分:0)
您宣布TextView user
,但在尝试将其投放到List<String>
((List<String>) user)
导致ClassCastException
答案 1 :(得分:0)
你必须使用列表
示例:
List<String> myContacts={'john','grand','abc','def'};
user.setText(myContacts.get(position));
您无法将TextView强制转换为列表
答案 2 :(得分:0)
只需替换此行
user.setText(((List<String>) user).get(position));
到
user.setText((arraylist_.get(position)));