recyclerView的数据无法一次性更新出来(fragment)

我是用XUtils3的网络框架
这是展示解析出来的信息界面

问题:运行这个App然后点到“消息”界面(fragment),只能显示一条数据,当我切换到别的界面,然后又切换回“消息”界面,又刷新出两条数据;当全部数据全部显示出来以后,再次切换界面就会报错
代码如下

@ContentView(R.layout.fragment_message)
public class Message extends Fragment {
String url = "http://dxy.com/app/i/feed/tags2sub/list";
private String TAG = "Message";
private List messageList = new ArrayList<>();
@ViewInject(R.id.message_recycler)
private RecyclerView message_recycler;
private MyAdapter mAdapter;
public Message() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = x.view().inject(this, inflater, container);
//数据初始化
initData();
message_recycler.setHasFixedSize(true);
message_recycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mAdapter = new MyAdapter();
message_recycler.setAdapter(mAdapter);
return view;

}

/**
 * 点击事件
 * @param view
 */
@Event(R.id.message)
private void onClick(View view){
    startActivity(new Intent(getActivity(), MessageActivity.class));
}
/**
 * 解析数据
 */
private void initData() {
    HashMap<String, String> map = new HashMap<>();
    map.put("ac", "d5424fa6-adff-4b0a-8917-4264daf4a348");
    HttpUtils.get(url, map, new MyCallBack<String>() {
        @Override
        public void onSuccess(String result) {

// Toast.makeText(getActivity(), ""+result, Toast.LENGTH_SHORT).show();
Gson gson = new Gson();
MessageInfo messageInfo = gson.fromJson(result, MessageInfo.class);
List items = messageInfo.getData().getItems();
messageList.addAll(items);
// mAdapter.notifyItemRangeInserted(0, messageList.size());
mAdapter.notifyDataSetChanged();
Toast.makeText(getActivity(), "--------" + messageList.size(), Toast.LENGTH_SHORT).show();
}
});
}
/**
* recyeler适配器
*/
class MyAdapter extends RecyclerView.Adapter{
@Override
public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = getActivity().getLayoutInflater().inflate(R.layout.message_recycler_item, parent, false);
MyHolder myHolder = new MyHolder(view);
return myHolder;
}
@Override
public void onBindViewHolder(MyHolder holder, int position) {

        MessageInfo.DataBean.ItemsBean itemsBean = messageList.get(position);
        holder.mHb_pressure.setText(itemsBean.getTags().get(position).getTag_name());
        holder.mIntroduction.setText(itemsBean.getTags().get(position).getContent());

// notifyItemChanged(position);
// holder.itemView.setTag(itemsBean);
}

    @Override
    public int getItemCount() {
        return messageList.size();
    }
    class MyHolder extends RecyclerView.ViewHolder{
        private final TextView mHb_pressure;
        private final TextView mIntroduction;
        public MyHolder(View itemView) {
            super(itemView);
            mHb_pressure = (TextView) itemView.findViewById(R.id.HB_pressure);
            mIntroduction = (TextView) itemView.findViewById(R.id.Introduction);
        }
    }
}

}

http://blog.csdn.net/cumtsx/article/details/51834797