private void refshUI() {
   // TODO Auto-generated method stub
   if (Boolean.valueOf(DataShare.get(context, Data.city_auto, "true"))) {
     setSummary("自动选择当前所在城市");
   } else {
     setSummary(
         DataShare.get(context, Data.pro_name) + " " + DataShare.get(context, Data.city_name));
   }
 }
  private void setArrayAdapter(List list) {

    @SuppressWarnings({"unchecked", "rawtypes"})
    ArrayAdapter adapter_01 = new ArrayAdapter(context, android.R.layout.simple_spinner_item, list);
    adapter_01.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    sp_pro.setAdapter(adapter_01);

    sp_pro.setSelection(Integer.valueOf(DataShare.get(context, Data.pro_index, "0")));
    setAdapterForSP2(Integer.valueOf(DataShare.get(context, Data.city_index, "0")));
  }
 protected void onOff(boolean on) {
   // TODO Auto-generated method stub
   sp_pro.setPressed(on);
   sp_pro.setEnabled(!on);
   sp_city.setPressed(on);
   sp_city.setEnabled(!on);
   DataShare.save(context, Data.city_auto, String.valueOf(on));
 }
  @Override
  public boolean onPreferenceClick(Preference arg0) {
    // TODO Auto-generated method stub

    LayoutInflater inflater =
        (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    layout = inflater.inflate(R.layout.dialog_select_city, null);
    sp_pro = (Spinner) layout.findViewById(R.id.spinner_test_sp_01);
    sp_city = (Spinner) layout.findViewById(R.id.spinner_test_sp_02);

    setArrayAdapter(CityCodeReadUtils.pro);
    tb = (ToggleButton) layout.findViewById(R.id.city_auto);

    tb.setChecked(Boolean.valueOf(DataShare.get(context, Data.city_auto, "true")));

    onOff(tb.isChecked());
    tb.setOnCheckedChangeListener(
        new OnCheckedChangeListener() {

          @Override
          public void onCheckedChanged(CompoundButton arg0, boolean on) {
            // TODO Auto-generated method stub
            onOff(on);
          }
        });

    sp_pro.setOnItemSelectedListener(
        new OnItemSelectedListener() {

          @Override
          public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
            // TODO Auto-generated method stub
            setAdapterForSP2(arg2);
          }

          @Override
          public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

          }
        });

    alertDialog =
        new AlertDialog.Builder(context)
            .setTitle("选择指定城市")
            .setView(layout)
            .setPositiveButton(
                "确定",
                new OnClickListener() {

                  @Override
                  public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    DataShare.save(
                        context,
                        Data.city_index,
                        String.valueOf(sp_city.getSelectedItemPosition()));
                    DataShare.save(
                        context, Data.pro_index, String.valueOf(sp_pro.getSelectedItemPosition()));

                    DataShare.save(
                        context, Data.city_name, String.valueOf(sp_city.getSelectedItem()));
                    DataShare.save(
                        context, Data.pro_name, String.valueOf(sp_pro.getSelectedItem()));

                    DataShare.save(context, Data.city_auto, String.valueOf(tb.isChecked()));
                    refshUI();
                  }
                })
            .setNegativeButton(
                "取消",
                new DialogInterface.OnClickListener() {

                  @Override
                  public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub

                  }
                });

    alertDialog.show();

    return false;
  }