点击列表项后我有一些listadapter列表视图我想用新数据重新加载列表,更改适配器的竞赛。
我在setOnItemClickListener中使用它,但是我收到错误:“Type构造函数ArrayAdapter(new AdapterView.OnItemClickListener(){},int,ArrayList)未定义”
list.setAdapter(new ArrayAdapter<String>(this, R.layout.simple_list_item_1,Data.user.getChosen_rest()));
我该如何正确地做到这一点?
答案 0 :(得分:1)
答案here应该让你朝着正确的方向前进。如果您可以使用add()
,remove()
,insert()
或clear()
转换初始ArrayAdapter,则可以致电notifyDataSetChanged()
重新加载。
修改强>
实际上,为了更好地解决您的错误,请尝试替换
list.setAdapter(new ArrayAdapter<String>(this, R.layout.simple_list_item_1,Data.user.getChosen_rest()));
与
list.setAdapter(new ArrayAdapter<String>(NameOfActivity.this, R.layout.simple_list_item_1,Data.user.getChosen_rest()));
第一
答案 1 :(得分:1)
Context
实例传递给构造函数的第一个参数。
您可以扩展OnClickListener并向其添加一个字段mContext,您将为其分配当前的Activity。然后,将其用作:
list.setAdapter(new ArrayAdapter<String>(mContext, R.layout.simple_list_item_1,Data.user.getChosen_rest()));
或者,如果侦听器是Activity的内部类,则可以使用:
list.setAdapter(new ArrayAdapter<String>(MyActivity.this, R.layout.simple_list_item_1,Data.user.getChosen_rest()));