/**
   * 用户保存头像
   *
   * @author user
   */
  private void iniPopupWindow() {

    moreList = new ArrayList<Map<String, String>>();
    Map<String, String> map;
    String[] array = getResources().getStringArray(R.array.user_category);
    for (int i = 0; i < array.length; i++) {
      map = new HashMap<String, String>();
      map.put("share_key", array[i]);
      moreList.add(map);
    }

    LayoutInflater inflater =
        (LayoutInflater) getSystemService(android.content.Context.LAYOUT_INFLATER_SERVICE);
    View layout = inflater.inflate(R.layout.task_detail_popupwindow, null);

    lvPopupList = (ListView) layout.findViewById(R.id.lv_popup_list);
    pwMyPopWindow = new PopupWindow(layout);
    pwMyPopWindow.setFocusable(true);
    lvPopupList.setAdapter(
        new SimpleAdapter(
            this,
            moreList,
            R.layout.list_item_popupwindow,
            new String[] {"share_key"},
            new int[] {R.id.tv_list_item}));
    lvPopupList.setOnItemClickListener(
        new OnItemClickListener() {
          @Override
          public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            user_manager_category_stub.setText(moreList.get(position).get("share_key"));
            pwMyPopWindow.dismiss();
            Toast.makeText(
                    UserControlCommonActivity.this,
                    moreList.get(position).get("share_key"),
                    Toast.LENGTH_SHORT)
                .show();
          }
        });

    lvPopupList.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
    pwMyPopWindow.setWidth(lvPopupList.getMeasuredWidth());
    pwMyPopWindow.setHeight((lvPopupList.getMeasuredHeight() - 10) * NUM_OF_VISIBLE_LIST_ROWS);
    pwMyPopWindow.setBackgroundDrawable(this.getResources().getDrawable(R.color.transparent));
    pwMyPopWindow.setOutsideTouchable(true);
  }
  public static Dialog show(
      Activity activity, final DialogOptions options, final IDialogResponse response) {

    final Dialog dialog = new Dialog(activity);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.dialog_base);

    FontManager.handleFontTags(dialog.findViewById(R.id.dialog_container));

    final ArrayList<EditText> editTexts = new ArrayList<EditText>();
    final IDialogAdapter<?> adapter = options.getDialogAdapter();
    final ListView list = (ListView) dialog.findViewById(R.id.dialog_list);

    if (adapter == null) {
      Utils.remove(list);
    } else {
      list.setAdapter(new DialogInternalAdapter(adapter));
    }

    // give scrollable view a max height
    ViewGroup.LayoutParams scrollWrapParams = list.getLayoutParams();
    list.measure(list.getWidth(), list.getHeight());
    Utils.d("Ok " + list.getWidth() + " ; " + list.getHeight());
    Utils.d("Ok " + list.getMeasuredWidth() + " ; " + list.getMeasuredHeight());

    //		if (scroll.getMeasuredHeight() < scrollWrapParams.height) {
    //			scrollWrapParams.height = scroll.getMeasuredHeight();
    //			scrollWrap.setLayoutParams(scrollWrapParams);
    //		}

    final TextView title = (TextView) dialog.findViewById(R.id.dialog_title);
    title.setText(options.getTitle());

    final TextView description = (TextView) dialog.findViewById(R.id.dialog_description);
    description.setText(options.getDescription());

    Button negative = (Button) dialog.findViewById(R.id.dialog_negative);
    if (!options.isNegativeButtonEnabled()) {
      Utils.remove(negative);
    } else {
      negative.setText(options.getNegative());
      if (options.isReverseColors()) {
        negative.setTextColor(Utils.color(R.color.positive));
      }
      negative.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View view) {
              if (response != null) {
                response.onNegative();
              }
              dialog.dismiss();
            }
          });
    }

    Button positive = (Button) dialog.findViewById(R.id.dialog_positive);
    if (!options.isPositiveButtonEnabled()) {
      Utils.remove(positive);
    } else {
      positive.setText(options.getPositive());
      if (options.isReverseColors()) {
        positive.setTextColor(Utils.color(R.color.negative));
      }
      positive.setOnClickListener(
          new View.OnClickListener() {
            @Override
            public void onClick(View view) {
              if (response != null) {
                response.onPositive();
              }
              dialog.dismiss();
            }
          });
    }

    dialog.setOnCancelListener(
        new DialogInterface.OnCancelListener() {
          @Override
          public void onCancel(DialogInterface dialogInterface) {
            if (response != null) {
              response.onCancel();
            }
          }
        });
    dialog.show();
    return dialog;
  }
 private void setPopWindow(View v) {
   if (adapter == null) {
     adapter =
         new MyAdapter(mList, context) {
           @Override
           public View getView(int position, View convertView, ViewGroup parent) {
             View view = View.inflate(context, R.layout.layout_listview_text, null);
             TextView tv = (TextView) view.findViewById(R.id.tv_text);
             if (mCurrent == position) {
               tv.setTextColor(Color.parseColor("#66c6f2"));
             } else {
               tv.setTextColor(Color.parseColor("#FFFFFF"));
             }
             tv.setText(mList.get(position));
             return view;
           }
         };
     mListView.setAdapter(adapter);
   } else {
     adapter.notifyDataSetChanged();
   }
   mListView.setOnItemClickListener(
       new OnItemClickListener() {
         @Override
         public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
           mCurrent = position;
           if (position == 0) {
             mHistoryOne.setVisibility(View.GONE);
             mHistoryTwo.setVisibility(View.VISIBLE);
             setVisibility(mListTwo);
             // defaultColor();
             // mTwo.setTextColor(Color.parseColor("#66c6f2"));
             mPosition.setText("二手房");
           } else {
             if (bOne) {
               initData(mSpOne, mListOne, 1, "mListOne");
               bOne = false;
             }
             mHistoryTwo.setVisibility(View.GONE);
             mHistoryOne.setVisibility(View.VISIBLE);
             setVisibility(mListOne);
             // defaultColor();
             // mOne.setTextColor(Color.parseColor("#66c6f2"));
             mPosition.setText("出租房");
           }
           close();
           adapter.notifyDataSetChanged();
         }
       });
   popupWindow = new PopupWindow(context);
   popupWindow.setContentView(mView);
   mListView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
   // popupWindow.setHeight(LayoutParams.WRAP_CONTENT);
   // popupWindow.setWidth(LayoutParams.WRAP_CONTENT);
   popupWindow.setFocusable(true);
   popupWindow.setOutsideTouchable(true);
   popupWindow.setWidth(mListView.getMeasuredWidth());
   // popupWindow.setHeight((mListView.getMeasuredHeight() + 20)*2-5);
   popupWindow.setHeight(LayoutParams.WRAP_CONTENT);
   Drawable d = getResources().getDrawable(R.drawable.bg_popupwindow);
   popupWindow.setBackgroundDrawable(d);
 }