| | |
| | |
|
| | | import cn.com.basic.face.util.OkButtonClickedListener;
|
| | |
|
| | | import com.lidroid.xutils.ViewUtils;
|
| | | import com.lidroid.xutils.view.annotation.ViewInject;
|
| | | import com.lidroid.xutils.view.annotation.event.OnItemSelected;
|
| | | import com.wx.wheelview.widget.WheelView;
|
| | |
|
| | | import java.util.ArrayList;
|
| | |
| | |
|
| | | public class CountrySelectionDialog extends PopupWindow implements View.OnClickListener, WheelView.OnWheelItemSelectedListener {
|
| | |
|
| | | @ViewInject(R.id.dialog_country_ok)
|
| | | private TextView dialog_country_ok;
|
| | | @ViewInject(R.id.dialog_country_cancel)
|
| | | private TextView dialog_country_cancel;
|
| | | @ViewInject(R.id.dialog_country_name_first_letter)
|
| | | private WheelView dialog_country_name_first_letter;
|
| | | @ViewInject(R.id.dialog_country_name)
|
| | | private WheelView dialog_country_name;
|
| | |
|
| | | private Context mContext;
|
| | | private View view;
|
| | | private TextView mTvConfirm, mTvCancel;
|
| | | private WheelView mWheelViewTitle, mWheelViewName;
|
| | | private HashMap<String, List<String>> countryData;
|
| | | private List<String> countryWordList;
|
| | | private List<String> countryList;
|
| | |
|
| | | public CountrySelectionDialog(Context context, String[] countryWordData, List<String> countryWordList, HashMap<String, List<String>> countryData) {
|
| | | @OnItemSelected(R.id.dialog_country_name)
|
| | | public void dialog_country_name_click(View view) {
|
| | | System.out.println("");
|
| | | }
|
| | |
|
| | | public CountrySelectionDialog(Context context, String[] countryWordData, List<String> countryWordList, HashMap<String, List<String>> countryData) {
|
| | | this.mContext = context;
|
| | | view = LayoutInflater.from(context).inflate(R.layout.dialog_country, null);
|
| | | mWheelViewTitle = (WheelView) view.findViewById(R.id.pop_country_title);
|
| | | mWheelViewTitle.setOnWheelItemSelectedListener(this);
|
| | | mWheelViewName = (WheelView) view.findViewById(R.id.pop_country_name);
|
| | | mWheelViewName.setOnWheelItemSelectedListener(this);
|
| | | mTvCancel = (TextView) view.findViewById(R.id.pop_country_cancel);
|
| | | mTvConfirm = (TextView) view.findViewById(R.id.pop_country_confirm);
|
| | | mTvCancel.setOnClickListener(this);
|
| | | mTvConfirm.setOnClickListener(this);
|
| | | ViewUtils.inject(this, view);
|
| | |
|
| | | dialog_country_cancel = (TextView) view.findViewById(R.id.dialog_country_cancel);
|
| | | dialog_country_ok = (TextView) view.findViewById(R.id.dialog_country_ok);
|
| | | dialog_country_cancel.setOnClickListener(this);
|
| | | dialog_country_ok.setOnClickListener(this);
|
| | | this.countryWordList = countryWordList;
|
| | | this.countryData = countryData;
|
| | | countryList = countryData.get(countryWordList.get(mWheelViewTitle.getSelection()));
|
| | | mWheelViewTitle.setWheelAdapter(new MyWheelAdapter(context));
|
| | | mWheelViewTitle.setSkin(WheelView.Skin.Holo);
|
| | | mWheelViewTitle.setWheelSize(5);
|
| | | mWheelViewTitle.setBackgroundResource(R.color.colorBackground);
|
| | | mWheelViewName.setWheelAdapter(new MyWheelAdapter(context));
|
| | | mWheelViewName.setSkin(WheelView.Skin.Holo);
|
| | | mWheelViewName.setWheelSize(5);
|
| | | mWheelViewName.setBackgroundResource(R.color.colorBackground);
|
| | | countryList = countryData.get(countryWordList.get(dialog_country_name_first_letter.getSelection()));
|
| | | dialog_country_name_first_letter.setWheelAdapter(new MyWheelAdapter(context));
|
| | | 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.setWheelAdapter(new MyWheelAdapter(context));
|
| | | dialog_country_name.setSkin(WheelView.Skin.Holo);
|
| | | dialog_country_name.setWheelSize(5);
|
| | | dialog_country_name.setBackgroundResource(R.color.colorBackground);
|
| | | WheelView.WheelViewStyle style = new WheelView.WheelViewStyle();
|
| | | style.selectedTextColor = Color.parseColor("#11c3e3");
|
| | | style.textColor = Color.parseColor("#bcc6cf");
|
| | | style.selectedTextSize = 22;
|
| | | style.textSize = 16;
|
| | | style.holoBorderColor = Color.parseColor("#11c3e3");
|
| | | mWheelViewTitle.setStyle(style);
|
| | | mWheelViewName.setStyle(style);
|
| | | dialog_country_name_first_letter.setStyle(style);
|
| | | dialog_country_name.setStyle(style);
|
| | | initData();
|
| | | setOutsideTouchable(true);
|
| | | view.setOnTouchListener(new View.OnTouchListener() {
|
| | | @Override
|
| | | public boolean onTouch(View view, MotionEvent motionEvent) {
|
| | | View popLayout = view.findViewById(R.id.pop_single_ll);
|
| | | View popLayout = view.findViewById(R.id.dialog_country_linear_layout);
|
| | | int top = popLayout.getTop();
|
| | | int bottom = popLayout.getBottom();
|
| | | int left = popLayout.getLeft();
|
| | |
| | | if (view instanceof AppCompatTextView) {
|
| | | if (((AppCompatTextView) view).getText().equals("确认")) {
|
| | | for (OkButtonClickedListener okButtonClickedListener : okButtonClickedListeners) {
|
| | | if (mWheelViewTitle.getCurrentPosition() >= 0) {
|
| | | countryList = countryData.get(countryWordList.get(mWheelViewTitle.getCurrentPosition()));
|
| | | okButtonClickedListener.onItemSelected(0, null, countryList.get(mWheelViewName.getCurrentPosition()));
|
| | | if (dialog_country_name_first_letter.getCurrentPosition() >= 0) {
|
| | | countryList = countryData.get(countryWordList.get(dialog_country_name_first_letter.getCurrentPosition()));
|
| | | okButtonClickedListener.onItemSelected(0, null, countryList.get(dialog_country_name.getCurrentPosition()));
|
| | | }
|
| | | }
|
| | | dismiss();
|
| | |
| | |
|
| | | @Override
|
| | | public void onItemSelected(int position, Object o) {
|
| | | countryList = countryData.get(countryWordList.get(mWheelViewTitle.getCurrentPosition()));
|
| | | countryList = countryData.get(countryWordList.get(dialog_country_name_first_letter.getCurrentPosition()));
|
| | | }
|
| | |
|
| | | private void initData() {
|
| | | mWheelViewTitle.setWheelData(countryWordList);
|
| | | mWheelViewTitle.join(mWheelViewName);
|
| | | mWheelViewTitle.joinDatas(countryData);
|
| | | mWheelViewName.setWheelData(countryList);
|
| | | dialog_country_name_first_letter.setWheelData(countryWordList);
|
| | | dialog_country_name_first_letter.join(dialog_country_name);
|
| | | dialog_country_name_first_letter.joinDatas(countryData);
|
| | | dialog_country_name.setWheelData(countryList);
|
| | | }
|
| | |
|
| | | private List<OkButtonClickedListener> okButtonClickedListeners = new ArrayList<OkButtonClickedListener>();
|