xuxiuxi
2017-07-22 d999731ac1ba495dbfea06cbb14dcfd3a53bcd64
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/CountryDialog.java
@@ -1,6 +1,5 @@
package cn.com.basic.face.dialog;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.Gravity;
@@ -12,19 +11,20 @@
import android.widget.TextView;
import com.bsk.zhangbo.demoforbsk.R;
import cn.com.basic.face.adapter.MyWheelAdapter;
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.util.OkButtonClickedListener;
import cn.com.basic.face.util.OkClickedListener;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import com.wx.wheelview.widget.WheelView;
import cn.com.basic.face.dialog.wheelview.widget.WheelView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class CountryDialog extends PopupWindow implements WheelView.OnWheelItemSelectedListener {
@@ -47,12 +47,16 @@
        countriesGroupByFirstLetter = _countriesGroupByFirstLetter;
    }
    public static boolean hasCountries() {
        return countriesGroupByFirstLetter.size() > 0 ? true : false;
    }
    @OnClick(R.id.dialog_country_ok)
    public void dialog_country_ok_click(View view) {
        for (OkButtonClickedListener okButtonClickedListener : okButtonClickedListeners) {
        for (OkClickedListener okButtonClickedListener : okButtonClickedListeners) {
            if (dialog_country_name_first_letter.getCurrentPosition() >= 0) {
                countriesWithSameFirstLetter = countriesGroupByFirstLetter.get(uniqueFirstLetterList.get(dialog_country_name_first_letter.getCurrentPosition()));
                okButtonClickedListener.onItemSelected(0, null, countriesWithSameFirstLetter.get(dialog_country_name.getCurrentPosition()));
                okButtonClickedListener.onSelected(countriesWithSameFirstLetter.get(dialog_country_name.getCurrentPosition()));
            }
        }
        dismiss();
@@ -63,9 +67,25 @@
        dismiss();
    }
    public CountryDialog(View parentView, OkButtonClickedListener okButtonClickedListener) {
    public CountryDialog(View parentView, OkClickedListener okButtonClickedListener, String defaultValue) {
        view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_country, null);
        ViewUtils.inject(this, view);
        if (defaultValue != null && !"".equals(defaultValue)) {
            for (int i = 0; i < uniqueFirstLetterList.size(); i++) {
                String firstLetter = uniqueFirstLetterList.get(i);
                int j = 0;
                for(String countryName : countriesGroupByFirstLetter.get(firstLetter)) {
                    if (defaultValue.equals(countryName)) {
                        dialog_country_name_first_letter.setSelection(i);
                        dialog_country_name.setSelection(j);
                        break;
                    }
                    j++;
                }
            }
        }
        this.countriesWithSameFirstLetter = countriesGroupByFirstLetter.get(uniqueFirstLetterList.get(dialog_country_name_first_letter.getSelection()));
@@ -76,13 +96,16 @@
        wheelViewStyle.textSize = 16;
        wheelViewStyle.holoBorderColor = Color.parseColor("#11c3e3");
        dialog_country_name_first_letter.setWheelAdapter(new MyWheelAdapter(MainActivity.getInstance()));
        dialog_country_name_first_letter.setWheelAdapter(new SelectDialog.WheelAdapter(MainActivity.getInstance()));
        dialog_country_name_first_letter.setSkin(WheelView.Skin.Holo);
        dialog_country_name_first_letter.setWheelSize(5);
        dialog_country_name_first_letter.setBackgroundResource(R.color.colorBackground);
        dialog_country_name_first_letter.setStyle(wheelViewStyle);
        dialog_country_name.setWheelAdapter(new MyWheelAdapter(MainActivity.getInstance()));
        //dialog_country_name_first_letter.setSelection(4);
        dialog_country_name.setWheelAdapter(new SelectDialog.WheelAdapter(MainActivity.getInstance()));
        dialog_country_name.setSkin(WheelView.Skin.Holo);
        dialog_country_name.setWheelSize(5);
        dialog_country_name.setBackgroundResource(R.color.colorBackground);
@@ -137,9 +160,9 @@
        dialog_country_name.setWheelData(countriesWithSameFirstLetter);
    }
    private List<OkButtonClickedListener> okButtonClickedListeners = new ArrayList<OkButtonClickedListener>();
    private List<OkClickedListener> okButtonClickedListeners = new ArrayList<OkClickedListener>();
    public void addOkButtonClickedListener(OkButtonClickedListener okButtonClickedListener) {
    public void addOkButtonClickedListener(OkClickedListener okButtonClickedListener) {
        this.okButtonClickedListeners.add(okButtonClickedListener);
    }