因为大家写一些东西的时候,经常会用在adapter里面去更新activity的数据。今天正好又遇到了 所以写了个回调方法 。闲来无事,发个博客吧 。
一般adapter 更新activity 有多种方法,例如广播了 等等,但是广播不太安全, 就写了个回调方法
public class MyActivity extends Activity implements MyAdapter .UpdateListener {
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
adapter= new MyAdapter (this, userList);
adapter.setAdapter(adapter);
adapter.setListener(this);
}
}
public class MyAdapter extends BaseAdapter {
private UpdateListener updateListener;
public interface UpdateListener{
public void excute(int pos);
}
public void setListener(UpdateListener listener){
this.updateListener=listener;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
holder.delPhonebtn.setOnClickListener(new View.OnClickListener() {
updateListener.excute(position);
}
}
}
}
可以再getview 方法中根据position 进行告诉activity在做上面操作。