在项目开发中我们经常会碰到在一个列表页面点击item跳转到对应的详情页面,当在详情页面修改某些数据后,返回列表页面需要修改列表页面的数据,很早的的时候我们一般就是直接返回然后刷新数据,但是这样其实很不友好,比如说我没有修改 你也刷新,或者我改了列表的第二十个数据刷新后就直接跳到第一项去了。这个时候我们其实可以用startActivityForResult()跳转到详情页面并将选中的的list的position传过去,在详情页面加一个
private boolean isEidt = false;
当修改了详情页数据的时候将
isEidt = true; 再返回列表页面的时候用setResult()并将positio和修改的数据传回去,在列表页面对应的
onActivityResult()方法中直接修改数据源list,然后更新Adapter
int position = data.getIntExtra("position" , 0); String status = data.getStringExtra("status"); mList.get(position).setStatus(status); if(mAdapter != null){ mAdapter.notifyDataSetChanged(); } 这样我们就可以不用再次请求数据了