@Override
 public void onClick(View v) {
   Intent intent = null;
   switch (v.getId()) {
     case R.id.read_report_jp:
       intent = new Intent(this, ReadReportGoodActivity.class);
       startActivity(intent);
       break;
     case R.id.read_report_ph:
       intent = new Intent(this, ReadReportPH.class);
       startActivity(intent);
       break;
     case R.id.read_report_fl:
       break;
     case R.id.read_report_mf:
       intent = new Intent(this, ReadReportMF.class);
       startActivity(intent);
       break;
     case R.id.read_report_more:
       pageindex++;
       if (((CeiApplication) getApplication()).isNet()) {
         String reportData = Service.queryAllClassTypeReport(nowId, pageindex + "");
         try {
           List<Report> reports = XmlUtil.parseReport(reportData);
           if (reports != null) {
             findData.addAll(reports);
           }
           // 保存数据库
           for (Report report : findData) {
             report.setPartitiontID(nowId);
             dataHelper.saveAllReport(report);
           }
           Message msg = new Message();
           msg.what = 3;
           msg.arg1 = reports.size();
           findHandler.sendMessage(msg);
         } catch (Exception e) {
           MyTools.showPushXml(getApplicationContext());
           e.printStackTrace();
         }
       }
       break;
     case R.id.ib_findbg_bookshelf:
       intent = new Intent(this, CeiShelfBookActivity.class);
       startActivity(intent);
       break;
     case R.id.ib_findbg_back:
       intent = new Intent(this, ReadReportMainActivity.class);
       startActivity(intent);
       break;
     case R.id.read_report_find:
       intent = new Intent(this, ReadReportFind.class);
       startActivity(intent);
       break;
   }
 }
        @Override
        public void handleMessage(Message msg) {
          if (msg.what == 2) {
            // 已达最低层
            adapter = new ReadReportAdapter(ReadReportFL.this, findData, flList);
            flList.setAdapter(adapter);
            if (findData.size() < 20) moreText.setVisibility(View.GONE);
          } else if (msg.what == 404) {
            // Toast.makeText(ReadReportFL.this, "分类下没有数据!", 2).show();
            MyTools.exitShow(
                ReadReportFL.this, ReadReportFL.this.getWindow().getDecorView(), "分类下没有数据!");
          } else if (msg.what == 3) {
            if (msg.arg1 < 20) {
              moreText.setVisibility(View.GONE);
            }
            if (adapter != null) adapter.notifyDataSetChanged();
          } else {
            click(rootElement, 1);
            if (firstData.size() > 0) {
              click(firstData.get(0), 2);
              if (secondData.size() > 0) {
                // 加载默认数据
                nowId = secondData.get(0).getId();
                if (((CeiApplication) getApplication()).isNet()) {
                  String reportData = Service.queryAllClassTypeReport(nowId, pageindex + "");
                  try {
                    findData = XmlUtil.parseReport(reportData);
                    // 保存数据库
                    for (Report report : findData) {
                      report.setPartitiontID(nowId);
                      dataHelper.saveAllReport(report);
                    }
                    findHandler.sendEmptyMessage(2);
                  } catch (Exception e) {
                    MyTools.showPushXml(getApplicationContext());
                    e.printStackTrace();
                  }
                }
              } else if (!firstData.get(0).isMhasChild()) {
                nowId = firstData.get(0).getId();
                if (((CeiApplication) getApplication()).isNet()) {
                  String reportData = Service.queryAllClassTypeReport(nowId, pageindex + "");
                  try {
                    findData = XmlUtil.parseReport(reportData);
                    // 保存数据库
                    for (Report report : findData) {
                      report.setPartitiontID(nowId);
                      dataHelper.saveAllReport(report);
                    }
                    findHandler.sendEmptyMessage(2);
                  } catch (Exception e) {
                    MyTools.showPushXml(getApplicationContext());
                    e.printStackTrace();
                  }
                }
              }
            }
            FlTableAdapter adapter = new FlTableAdapter(ReadReportFL.this, firstData, 0);
            FlTableAdapter adapter1 = new FlTableAdapter(ReadReportFL.this, secondData, 0);
            flGridView1.setAdapter(adapter);
            flGridView2.setAdapter(adapter1);
            flGridView1.setOnItemClickListener(
                new OnItemClickListener() {

                  @Override
                  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                    // findData.clear();
                    // 换点击item背景
                    for (int i = 0; i < arg0.getChildCount(); i++) {
                      RelativeLayout rl = (RelativeLayout) arg0.getChildAt(i);
                      if (i == arg2) {
                        ((ImageView) (rl.getChildAt(0)))
                            .setImageResource(R.drawable.phone_study_menu_select);
                        ((TextView) rl.getChildAt(1)).setTextColor(Color.WHITE);
                      } else {
                        ((ImageView) (rl.getChildAt(0))).setImageResource(R.drawable.menu_transbg);
                        ((TextView) rl.getChildAt(1)).setTextColor(Color.BLUE);
                      }
                    }
                    // 第二层的数据集合
                    ReportpaitElement element = (ReportpaitElement) arg0.getAdapter().getItem(arg2);
                    click(element, 2);

                    if (secondData != null) { //
                      // 加载下一层数据
                      /*
                       * findViewById(R.id.read_report_fltable1).setVisibility
                       * (View.VISIBLE);
                       * flGridView2.setVisibility(View.VISIBLE);
                       */

                      FlTableAdapter adapter =
                          new FlTableAdapter(ReadReportFL.this, secondData, -1);
                      flGridView2.setAdapter(adapter);
                    }
                  }
                });
            flGridView2.setOnItemClickListener(
                new OnItemClickListener() {

                  @Override
                  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                    findData.clear();
                    // 换点击item背景
                    for (int i = 0; i < arg0.getChildCount(); i++) {
                      RelativeLayout rl = (RelativeLayout) arg0.getChildAt(i);
                      if (i == arg2) {
                        ((ImageView) (rl.getChildAt(0)))
                            .setImageResource(R.drawable.phone_study_menu_select);
                        ((TextView) rl.getChildAt(1)).setTextColor(Color.WHITE);
                      } else {
                        ((ImageView) (rl.getChildAt(0))).setImageResource(R.drawable.menu_transbg);
                        ((TextView) rl.getChildAt(1)).setTextColor(Color.BLUE);
                      }
                    }
                    ReportpaitElement element = (ReportpaitElement) arg0.getAdapter().getItem(arg2);
                    click(element, 3);
                  }
                });
          }
        }