我有一个类,它为List提供了4个参数。该类称为Item。我创建了一个ListList变量,它是一个ArrayList。然后我创建一个新的ListAdapter。我将此适配器设置为主ListView。然后我将10个输入添加到ArrayList中。这一切都有效,但是当我尝试将ArrayList项添加到ListAdapter时,给出了一个错误,即向该方法添加Cast。
以下是我所说的代码
final List <Item> tempList = new ArrayList <Item>();
mainListViewListAdapter = new ListAdapter(MainActivity.this, R.layout.main_list_item_layout, tempList);
// set mainListAdapter
mainListView.setAdapter(mainListViewListAdapter);
for (int x = 0; x < 10;x++){
tempList.add (new Item ("Example1","Example2","Example3","Example4"));
}
***HERE IS WHERE I GET THE ERROR AT addAll();***
mainListViewListAdapter.addAll(tempList);
mainListViewListAdapter设置为ListAdapter,mainListView设置为ListView。
为什么要向mainListViewListAdapter添加强制转换?我已经在另一个项目上运行了这个代码,我没有必要使用强制转换。
答案 0 :(得分:0)
需要销毁适配器 - 使用并配置每次使用后 - 适配器和新适配器的新StringArray值。
使用这种结构:
String[] values1 = new String[] { "Sunny", "Sealand", "Lengord" };
makeListItem(values1);
public void makeListItem(String[] addValues){
MySimpleArrayAdapter lvAdapter1 = new MySimpleArrayAdapter(this, addValues);
ListView1.setAdapter(lvAdapter1); lvAdapter1 = null; }