xuxiuxi
2017-03-28 d5acf96e62637819d1cd55b516dd03e9232e3971
VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/CountrySelectionPopup.java
@@ -1,13 +1,9 @@
package com.bsk.zhangbo.demoforbsk.widget;
import android.content.Context;
import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.support.v7.widget.AppCompatTextView;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
@@ -17,10 +13,13 @@
import com.bsk.zhangbo.demoforbsk.R;
import com.bsk.zhangbo.demoforbsk.adapter.MyWheelAdapter;
import com.bsk.zhangbo.demoforbsk.service.DictionaryMng;
import com.bsk.zhangbo.demoforbsk.listeners.OkButtonClickedListener;
import com.bsk.zhangbo.demoforbsk.util.CountryPresenter;
import com.wx.wheelview.widget.WheelView;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -38,7 +37,8 @@
    private List<String> countryList;
    private CountryPresenter countryPresenter;
    public CountrySelectionPopup(Context context) {
    public CountrySelectionPopup(Context context, String[] countryWordData, List<String> countryWordList, HashMap<String, List<String>> countryData) {
        this.mContext = context;
        countryPresenter = new CountryPresenter(context);
        view = LayoutInflater.from(context).inflate(R.layout.pop_country, null);
@@ -51,9 +51,10 @@
        mTvCancel.setOnClickListener(this);
        mTvConfirm.setOnClickListener(this);
        String[] countryWordData = countryPresenter.getCountryWordData();
        countryWordList = Arrays.asList(countryWordData);
        countryData = countryPresenter.getCountryData();
        //String[] countryWordData = DictionaryMng.countryWordData;
        this.countryWordList = countryWordList;//DictionaryMng.countryWordList;
        this.countryData = countryData;//DictionaryMng.countryData;
        countryList = countryData.get(countryWordList.get(mWheelViewTitle.getSelection()));
        mWheelViewTitle.setWheelAdapter(new MyWheelAdapter(context));
@@ -117,7 +118,20 @@
    @Override
    public void onClick(View view) {
        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()));
                    }
                }
                dismiss();
            }
            if (((AppCompatTextView) view).getText().equals("取消")) {
                dismiss();
            }
        }
    }
    @Override
@@ -132,4 +146,10 @@
        mWheelViewName.setWheelData(countryList);
    }
    private List<OkButtonClickedListener> okButtonClickedListeners = new ArrayList<OkButtonClickedListener>();
    public void addOkButtonClickedListener(OkButtonClickedListener okButtonClickedListener) {
        this.okButtonClickedListeners.add(okButtonClickedListener);
    }
}