1、缓存颜色:
为什么ListView在拖动的时间是黑色,而静止时间是自己的颜色是因为 ListView的缓存。只需一个配置即可。在这个ListView里面加上它即可。
android:cacheColorHint="@android:color/transparent"
2、ListView异步刷新:
最厉害的,我们在ListView里添加过以后,想要异步刷新, 即页面不改变,但是数据改变了。其实就是安卓 中的ajax。 dao.insert(numString); // 此时你肯定想要通知ListView刷新数据。 // 让数据适配器通知listview更新数据 ,相当于异步 刷新 。 numbers = dao.findAll(); //你也要先得到最新的数据。 adapter.notifyDataSetChanged();
3、菜单 :
onCreateOptionsMenu:这个比较简单,就是Activity下的方法重写,只调用一次
onPrepareOptionsMenu:按menu键一直会调用
onCreateContextMenu:这个是ListView下长按某item的时候会弹出的菜单
// 给listview注册上下文菜单 在onCreate里面 private ListView lv_call_sms_safe; registerForContextMenu(lv_call_sms_safe); 二、配置文件
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/update_number" android:title="更改黑名单号码"/> <item android:id="@+id/deltel_number" android:title="删除黑名单号码"/> </menu>
三、覆盖方法 /** * 创建上下文菜单 */ @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); //其实这个是获得menu的那个充气的东西,与View略有不同 MenuInflater inflater = getMenuInflater(); //把这个布局文件的View给吹起来 inflater.inflate(R.menu.context_menu, menu); } /** * 为下下文菜单写监听事件 */ @Override public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); switch (item.getItemId()) { case R.id.update_number: break; case R.id.deltel_number: //当前条目的ID。 int id = (int) info.id; String num = numbers.get(id); dao.delete(num); //重新获取新的代码 numbers = dao.findAll(); //通知最新的 adapter.notifyDataSetChanged(); break; } return false; }
Android学习笔记_62_手机安全卫士知识点归纳(2)ListView重要属性 PopupWindow应用,布布扣,bubuko.com