From cd88a31ebfafd07fbaa5269cdb35c7773e2a8460 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期五, 31 三月 2017 18:45:20 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java | 15 ++++++--------- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java | 12 ++++++------ VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/CountrySelectionDialog.java | 29 +++++++++++++---------------- 3 files changed, 25 insertions(+), 31 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/CountrySelectionDialog.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/CountrySelectionDialog.java index fb45839..25835dc 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/CountrySelectionDialog.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/CountrySelectionDialog.java @@ -3,7 +3,6 @@ import android.content.Context; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; -import android.support.v7.widget.AppCompatTextView; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; @@ -36,18 +35,17 @@ @ViewInject(R.id.dialog_country_name) private WheelView dialog_country_name; - private Context mContext; private View view; - private HashMap<String, List<String>> countryData; - private List<String> countryWordList; - private List<String> countryList; + private HashMap<String, List<String>> countriesGroupByFirstLetter; + private List<String> uniqueFirstLetterList; + private List<String> countriesWithSameFirstLetter; @OnClick(R.id.dialog_country_ok) public void dialog_country_ok_click(View view) { for (OkButtonClickedListener okButtonClickedListener : okButtonClickedListeners) { 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())); + countriesWithSameFirstLetter = countriesGroupByFirstLetter.get(uniqueFirstLetterList.get(dialog_country_name_first_letter.getCurrentPosition())); + okButtonClickedListener.onItemSelected(0, null, countriesWithSameFirstLetter.get(dialog_country_name.getCurrentPosition())); } } dismiss(); @@ -58,14 +56,13 @@ dismiss(); } - public CountrySelectionDialog(Context context, String[] countryWordData, List<String> countryWordList, HashMap<String, List<String>> countryData) { - this.mContext = context; + public CountrySelectionDialog(Context context, List<String> uniqueFirstLetterList, HashMap<String, List<String>> countriesGroupByFirstLetter) { view = LayoutInflater.from(context).inflate(R.layout.dialog_country, null); ViewUtils.inject(this, view); - this.countryWordList = countryWordList; - this.countryData = countryData; - this.countryList = countryData.get(countryWordList.get(dialog_country_name_first_letter.getSelection())); + this.uniqueFirstLetterList = uniqueFirstLetterList; + this.countriesGroupByFirstLetter = countriesGroupByFirstLetter; + this.countriesWithSameFirstLetter = countriesGroupByFirstLetter.get(uniqueFirstLetterList.get(dialog_country_name_first_letter.getSelection())); WheelView.WheelViewStyle wheelViewStyle = new WheelView.WheelViewStyle(); wheelViewStyle.selectedTextColor = Color.parseColor("#11c3e3"); @@ -122,14 +119,14 @@ @Override public void onItemSelected(int position, Object o) { - countryList = countryData.get(countryWordList.get(dialog_country_name_first_letter.getCurrentPosition())); + countriesWithSameFirstLetter = countriesGroupByFirstLetter.get(uniqueFirstLetterList.get(dialog_country_name_first_letter.getCurrentPosition())); } private void initData() { - dialog_country_name_first_letter.setWheelData(countryWordList); + dialog_country_name_first_letter.setWheelData(uniqueFirstLetterList); dialog_country_name_first_letter.join(dialog_country_name); - dialog_country_name_first_letter.joinDatas(countryData); - dialog_country_name.setWheelData(countryList); + dialog_country_name_first_letter.joinDatas(countriesGroupByFirstLetter); + dialog_country_name.setWheelData(countriesWithSameFirstLetter); } private List<OkButtonClickedListener> okButtonClickedListeners = new ArrayList<OkButtonClickedListener>(); diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java index 478d363..2734174 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java @@ -76,9 +76,8 @@ private List mCredentialsList; private LinearLayout mBaseLayout; - private String[] countryWordData; - private List<String> countryWordList; - private HashMap<String, List<String>> countryData; + private List<String> uniqueFirstLetterList; + private HashMap<String, List<String>> countriesGroupByFirstLetter; private static RegisterFragment instance = new RegisterFragment(); @@ -133,8 +132,7 @@ @OnClick(R.id.register_country) public void register_country_click(View view) { - CountrySelectionDialog countrySelectionPopup = new CountrySelectionDialog(getActivity(), - countryWordData,countryWordList,countryData); + CountrySelectionDialog countrySelectionPopup = new CountrySelectionDialog(getActivity(),uniqueFirstLetterList,countriesGroupByFirstLetter); countrySelectionPopup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); countrySelectionPopup.addOkButtonClickedListener(new OkButtonClickedListener() { @Override @@ -218,10 +216,9 @@ this.mCredentialsList = credentialsList; } - public void setCountryData(String[] countryWordData, List<String> countryWordList, HashMap<String, List<String>> countryData) { - this.countryData = countryData; - this.countryWordList = countryWordList; - this.countryData = countryData; + public void setCountryData(List<String> uniqueFirstLetterList, HashMap<String, List<String>> countriesGroupByFirstLetter) { + this.uniqueFirstLetterList = uniqueFirstLetterList; + this.countriesGroupByFirstLetter = countriesGroupByFirstLetter; } @Override diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java index 2a656f1..1f4c180 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DictionaryMng.java @@ -26,8 +26,8 @@ public static List<String> nationList = new ArrayList<String>(); public static List<String> mCredentialsList = new ArrayList<String>(); public static List<String> mSexList = new ArrayList<String>(); - public static List<String> countryWordList = new ArrayList<String>(); - public static HashMap<String,List<String>> countryData = new HashMap<String,List<String>>(); + public static List<String> uniqueFirstLetterList = new ArrayList<String>(); + public static HashMap<String,List<String>> countriesGroupByFirstLetter = new HashMap<String,List<String>>(); public static String[] countryWordData = new String[]{}; public static List<String> visitPurposeList = new ArrayList<String>(); @@ -50,17 +50,17 @@ idMap.put(item.getName(), item.getId()+""); nationList.add(item.getName()); String firstLetter = item.getRemark(); - List list = countryData.get(firstLetter); + List list = countriesGroupByFirstLetter.get(firstLetter); if (list == null) { list = new ArrayList(); - countryData.put(firstLetter, list); - countryWordList.add(0, firstLetter); + countriesGroupByFirstLetter.put(firstLetter, list); + uniqueFirstLetterList.add(0, firstLetter); } list.add(item.getName()); countryWordData[i] = item.getName(); i++; } - RegisterFragment.getInstance().setCountryData(countryWordData, countryWordList, countryData); + RegisterFragment.getInstance().setCountryData(uniqueFirstLetterList, countriesGroupByFirstLetter); } }); -- Gitblit v1.8.0