@Override
 public void handleMessage(Message msg) {
   dismissLoadingDialog();
   switch (msg.what) {
     case BookGetUtils.NET_ERROR:
       showToast("网络错误");
       break;
     case BookGetUtils.GET_SUCCESS:
       Pattern pattern = Pattern.compile("\\[.*?\\]");
       Matcher matcher = pattern.matcher(msg.obj.toString());
       LogUtils.d("获取图书列表:" + msg.obj.toString());
       if (matcher.find()) {
         App.courseList.clear();
         Gson gson = new Gson();
         Book[] books = gson.fromJson(matcher.group(), Book[].class);
         for (Book book : books) {
           App.courseList.add(book);
           LogUtils.d("图书列表数据:" + book.toString());
         }
         showToast("获取数据成功");
         mPtrv.setRefreshing(false);
       }
       break;
     case BookGetUtils.ORDER_BOOK_OK:
       App.courseList.get(msg.arg1).ordered =
           App.courseList.get(msg.arg1).ordered == null ? "1" : null;
       showToast("购买成功");
       break;
     case BookGetUtils.UN_ORDER_BOOK_OK:
       App.courseList.get(msg.arg1).ordered =
           App.courseList.get(msg.arg1).ordered == null ? "1" : null;
       showToast("取消成功");
       break;
     case BookGetUtils.ORDER_BOOK_FAILE:
       showToast("操作失败,请重试");
       break;
   }
   adapter.notifyDataSetChanged();
 }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ButterKnife.bind(this);
    title.setAlpha(0);
    accountUtils = new CacheUtils(this, CacheUtils.CacheType.FOR_ACCOUNT);
    mNvMenu.getmMenuLv().setOnItemClickListener(this);
    mDrawerLayout.setDrawerListener(
        new DrawerLayout.SimpleDrawerListener() {
          @Override
          public void onDrawerOpened(View drawerView) {
            super.onDrawerOpened(drawerView);
            //                mLogo.setImageResource(R.mipmap.back);
            mLogo.setState(MaterialMenuDrawable.IconState.ARROW);
            list_clickable = false;
          }

          @Override
          public void onDrawerSlide(View drawerView, float slideOffset) {
            super.onDrawerSlide(drawerView, slideOffset);
            title.setAlpha(slideOffset);
            title2.setAlpha(1 - slideOffset);
            mLogo.setTransformationOffset(
                MaterialMenuDrawable.AnimationState.BURGER_ARROW, slideOffset);
          }

          @Override
          public void onDrawerClosed(View drawerView) {
            super.onDrawerClosed(drawerView);
            //                mLogo.setImageResource(R.mipmap.open_left_menu);
            mLogo.setState(MaterialMenuDrawable.IconState.BURGER);
            list_clickable = true;
          }
        });
    adapter = new BookListAdapter();
    listView.setAdapter(adapter);
    listView.setOnItemClickListener(
        new AdapterView.OnItemClickListener() {
          @Override
          public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            if (list_clickable) {
              buy(App.courseList.get(position), position);
            }
          }
        });
    mPtrv.setOnRefreshListener(
        new PullToRefreshView.OnRefreshListener() {
          @Override
          public void onRefresh() {
            if (NetworkChecker.IsNetworkAvailable(MainActivity.this)) {
              refrushBookList();
            } else showToast("网络错误");
          }
        });
    if (App.courseList.size() == 0) {
      if (NetworkChecker.IsNetworkAvailable(MainActivity.this)) {
        refrushBookList();
      } else showToast("网络错误");
    }
  }