Android学习笔记--adapter.notifyDataSetChanged()延迟执行
来源:互联网 发布:jquery.extend 源码 编辑:程序博客网 时间:2024/06/05 02:11
adapter.notifyDataSetChanged();
在Android开发中该方法会经常使用到。最近项目中发现一个问题。
即 adapter.notifyDataSetChanged() 方法是有延迟的。
举个例子:
public class MainActivity extends AppCompatActivity {
private ListView listView;
private List<Integer> items = new ArrayList<>();
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.list);
for (int i = 0; i <10 ; i++) {
items.add(i);
}
adapter = new MyAdapter(this,items);
listView.setAdapter(adapter);
}
public void onClick(View view){
adapter.removeTest();
adapter.notifyDataSetChanged();
adapter.removeTest();
}
}
在onClick方法中,1.对adapter进行删除操作(随意删掉一个)
2.adapter监听更新
3.再删掉一个。
运行程序,我们会发现,实际上被删掉了2个。也就是,adapter.notifyDataSetChanged();虽然写在两次删除中间,但是会在两次删除之后才执行。
(如果不加adapter.notifyDataSetChanged();这一句,是不会刷新listview的)
谨记。
在Android开发中该方法会经常使用到。最近项目中发现一个问题。
即 adapter.notifyDataSetChanged() 方法是有延迟的。
举个例子:
public class MainActivity extends AppCompatActivity {
private ListView listView;
private List<Integer> items = new ArrayList<>();
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.list);
for (int i = 0; i <10 ; i++) {
items.add(i);
}
adapter = new MyAdapter(this,items);
listView.setAdapter(adapter);
}
public void onClick(View view){
adapter.removeTest();
adapter.notifyDataSetChanged();
adapter.removeTest();
}
}
在onClick方法中,1.对adapter进行删除操作(随意删掉一个)
2.adapter监听更新
3.再删掉一个。
运行程序,我们会发现,实际上被删掉了2个。也就是,adapter.notifyDataSetChanged();虽然写在两次删除中间,但是会在两次删除之后才执行。
(如果不加adapter.notifyDataSetChanged();这一句,是不会刷新listview的)
谨记。
1 0
- Android学习笔记--adapter.notifyDataSetChanged()延迟执行
- 【Android笔记-5】ListView adapter.notifyDataSetChanged
- Android adapter.notifyDataSetChanged无效
- Android学习笔记——关于Android ViewPager 在 adapter.notifyDataSetChanged 后 setCurrentItem 方法失效的解决办法
- android adapter 调用notifyDataSetChanged 无效
- android adapter的notifyDataSetChanged不起作用
- Android 解决 adapter.notifyDataSetChanged() 不起作用
- Android学习笔记 - Adapter
- 当adapter.notifyDataSetChanged()被执行后
- adapter.notifyDatasetChanged
- Go 学习笔记:延迟执行函数 defer
- notifyDataSetChanged() 动态更新ListView android线程延迟
- Android listView使用Adapter.notifyDataSetChanged()不刷新
- Android 之 adapter.notifyDataSetChanged() 无响应
- Android ListView Adapter notifyDataSetChanged 刷新没有效果
- Android 利用adapter.notifyDataSetChanged()无法更新问题
- Xamarin.Android Adapter NotifyDataSetChanged无效问题
- android中adapter使用notifydatasetchanged无效
- iostat 监视I/O子系统
- 基于Hiredis异步API的聊天系统实现
- ECMAScript Generator
- java设计模式—模板方法模式
- Spring Security 4.X xml配置,草稿记录
- Android学习笔记--adapter.notifyDataSetChanged()延迟执行
- Python下使用OpenCV教程(图像的载入、显示和保存)
- Android Studio 多渠道打包、自动版本号及 gradlew 命令的基本使用
- Java泛型
- Android特效开发(仿zaker用手向上推动的效果(推动门效果))
- 第十一周实践项目(5)——c
- Qt样式表的使用
- SQLite3嵌入式数据库arm+linux移植
- 第十周第十一周项目3警察与厨师的派生类