notifyDataSetChanged()使列表刷新,并且滚动跳回到
家电修理 2023-07-16 19:17www.caominkang.com电器维修
这种行为是不正常的。我看不到您的代码,我建议您执行以下操作
1)您不是
notifyDataSetChanged()从UI线程调用。正确的方法
runonUiThread(ne Runnable() { public void run() { adapter.notifyDataSetChanged(); }});
2)您是否偶然拨打了电话
adapter.notifyDataSetInvalidated();
3)在您的适配器中,您重写了
adapter.notifyDataSetChanged();方法并添加了说明以转到顶部
4)如果您使用列表来填充适配器-
每次都提供新列表,那么适配器设置将被刷新。您应该始终提供相同的列表。,您可以根据需要进行任意更改。如果您要重置列表,请使用
list.clear代替
list= ne ArrayList();
这是我的适配器的示例
public class Adapter extends baseAdapter { private Activity activity; private ArrayList<HashMap<String, String>> data; private static LayoutInflater inflater = null; public ImageLoader imageLoader; public MediaItemAdapter(Activity a, ArrayList<HashMap<String, String>> d) { activity = a; data = d; inflater = (LayoutInflater) activity .getSystemService(Context.LAYOUT_INFLATER_SERVICE); imageLoader = ne ImageLoader(activity.getApplicationContext()); } public int getCount() { return data.size(); } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public Vie getVie(int position, Vie convertVie, VieGroup parent) { Vie vi = convertVie; if (convertVie == null) { vi = inflater.inflate(R.layout.item_poser, null); } TextVie title = (TextVie) vi.findVieById(R.id.item_title); // title TextVie price = (TextVie) vi.findVieById(R.id.price); return vi; }}
要求适配器
List myList = ne ArrayList<HashMap<String, String>>();Adapter ma = ne Adapter(this, myList);
适配器初始化之前,myList可以为空。
然后对我的列表进行一些操作
myList.add(someElement);ma.notifyDataSetChanged();
如果需要删除所有项目
myList.clear();ma.notifyDataSetChanged();
这样的实现是无止境的,我看到了超过一万五千个元素,没有任何问题。
上一篇:微信对方已经删除账号是什么意思
下一篇:IIS6设置网站经常遇到的问题总结
空调维修
- 海信电视维修站 海信电视维修站点
- 格兰仕空调售后电话 格兰仕空调维修售后服务电
- 家电售后服务 家电售后服务流程
- 华扬太阳能维修 华扬太阳能维修收费标准表
- 三菱电机空调维修 三菱电机空调维修费用高吗
- 美的燃气灶维修 美的燃气灶维修收费标准明细
- 科龙空调售后服务 科龙空调售后服务网点
- 华帝热水器维修 华帝热水器维修常见故障
- 康泉热水器维修 康泉热水器维修故障
- 华凌冰箱维修电话 华凌冰箱维修点电话
- 海尔维修站 海尔维修站点地址在哪里
- 北京海信空调维修 北京海信空调售后服务
- 科龙空调维修 科龙空调维修故障
- 皇明太阳能售后 皇明太阳能售后维修点
- 海信冰箱售后服务 海信冰箱售后服务热线电话
- 海尔热水器服务热线