From a41324295d38312bb7ee84e8cefdb159e5bbf892 Mon Sep 17 00:00:00 2001 From: "MSI\\wei" <861739889@qq.com> Date: Thu, 17 Aug 2017 22:49:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E8=B0=83=E6=8E=A5=E5=8F=A3=E7=9A=84?= =?UTF-8?q?=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.idea/inspectionProfiles/Project_Default.xml | 10 ++++ .../.idea/inspectionProfiles/profiles_settings.xml | 7 +++ .../activity/RegisterInfoActivity.java | 17 +++++- .../personalcenter/adapter/ProvincesAdapter.java | 65 ++++++++++++++++++++++ .../customdialog/GradeListDialog.java | 1 + .../customdialog/ProvinceListDialog.java | 36 ++++++------ .../personalcenter/interfaces/DialogCallBack.java | 14 +++++ .../com/hjx/personalcenter/model/CountyInfo.java | 1 + 8 files changed, 132 insertions(+), 19 deletions(-) create mode 100644 PersonalCenter/.idea/inspectionProfiles/Project_Default.xml create mode 100644 PersonalCenter/.idea/inspectionProfiles/profiles_settings.xml create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/adapter/ProvincesAdapter.java create mode 100644 PersonalCenter/app/src/main/java/com/hjx/personalcenter/interfaces/DialogCallBack.java diff --git a/PersonalCenter/.idea/inspectionProfiles/Project_Default.xml b/PersonalCenter/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..a8f9e56 --- /dev/null +++ b/PersonalCenter/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/PersonalCenter/.idea/inspectionProfiles/profiles_settings.xml b/PersonalCenter/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..3b31283 --- /dev/null +++ b/PersonalCenter/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/RegisterInfoActivity.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/RegisterInfoActivity.java index 743b5d6..a8062f6 100644 --- a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/RegisterInfoActivity.java +++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/RegisterInfoActivity.java @@ -4,6 +4,7 @@ import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; +import android.widget.AdapterView; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; @@ -12,12 +13,13 @@ import com.hjx.personalcenter.R; import com.hjx.personalcenter.customdialog.GradeListDialog; import com.hjx.personalcenter.customdialog.ProvinceListDialog; import com.hjx.personalcenter.http.HttpManager; +import com.hjx.personalcenter.interfaces.DialogCallBack; /**填写注册信息 熊巍 * Created by h on 2017/8/9. */ -public class RegisterInfoActivity extends AppCompatActivity implements View.OnClickListener { +public class RegisterInfoActivity extends AppCompatActivity implements View.OnClickListener,DialogCallBack.CallBack { private EditText et_username; private TextView et_region,et_grade,et_school; private Button btn_ok; @@ -79,11 +81,22 @@ public class RegisterInfoActivity extends AppCompatActivity implements View.OnCl //选择地区 private void choiseregion() { HttpManager.getInstance().provices(RegisterInfoActivity.this); - ProvinceListDialog.getInstance().show(getSupportFragmentManager(), "ProvinceListDialog"); + ProvinceListDialog.getInstance(this).show(getSupportFragmentManager(), "ProvinceListDialog"); + } //选择年级 private void choisegrade() { GradeListDialog.getInstance().show(getSupportFragmentManager(), "GradeListDialog"); } + + @Override + public void provinceOnItemClick(AdapterView parent, View view, int position, long id) { + + View gradeView = parent.getChildAt(position); + TextView gradeTv = (TextView)gradeView.findViewById(R.id.list_items); + et_region.setText(gradeTv.getText().toString()); + + + } } diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/adapter/ProvincesAdapter.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/adapter/ProvincesAdapter.java new file mode 100644 index 0000000..e77a795 --- /dev/null +++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/adapter/ProvincesAdapter.java @@ -0,0 +1,65 @@ +package com.hjx.personalcenter.adapter; + +import android.content.Context; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; + +import com.hjx.personalcenter.R; +import com.hjx.personalcenter.model.ProvinceInfo; + +import java.util.ArrayList; + +/** + * Created by l on 2017/7/18. + */ + +public class ProvincesAdapter extends BaseAdapter { + ArrayList objects; + private Context context; + + public ProvincesAdapter(ArrayList objects, Context context) { + this.objects = objects; + this.context = context; + } + + @Override + public int getCount() { + return objects.size(); + } + + @Override + public Object getItem(int position) { + return position; + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(final int position, View convertView, ViewGroup parent) { + + ViewHolder holder = null; + + if (convertView == null) { + convertView = View.inflate(context, R.layout.custom_adilog_list_item, null); + holder = new ViewHolder(); + holder.nameText = (TextView) convertView.findViewById(R.id.list_items); + convertView.setTag(holder); + } else { + holder = (ProvincesAdapter.ViewHolder) convertView.getTag(); + } + + holder.nameText.setText(objects.get(position).getRegionName()); + + return convertView; + } + + + static class ViewHolder { + TextView nameText; + } +} diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/GradeListDialog.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/GradeListDialog.java index a52d33b..40ba7d4 100644 --- a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/GradeListDialog.java +++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/GradeListDialog.java @@ -57,6 +57,7 @@ public class GradeListDialog extends BaseCircleDialog implements AdapterView.OnI @Override public void onItemClick(AdapterView parent, View view, int position, long id) { + Toast.makeText(getActivity(),"你点击了第"+position+"个",Toast.LENGTH_LONG).show(); dismiss(); diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/ProvinceListDialog.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/ProvinceListDialog.java index fda281c..eb6d7d6 100644 --- a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/ProvinceListDialog.java +++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/ProvinceListDialog.java @@ -8,12 +8,14 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; -import android.widget.ArrayAdapter; import android.widget.ListView; import com.hjx.personalcenter.R; +import com.hjx.personalcenter.adapter.ProvincesAdapter; import com.hjx.personalcenter.db.SaveParam; import com.hjx.personalcenter.http.HttpManager; +import com.hjx.personalcenter.interfaces.DialogCallBack; +import com.hjx.personalcenter.model.ProvinceInfo; import com.mylhyl.circledialog.BaseCircleDialog; import com.mylhyl.circledialog.res.values.CircleDimen; @@ -25,12 +27,18 @@ import java.util.ArrayList; */ public class ProvinceListDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { - ArrayAdapter listadapter; - ListView listView; - ArrayList data = new ArrayList<>(); + private ProvincesAdapter listadapter; + private ListView listView; + private ArrayList data = new ArrayList<>(); - public static ProvinceListDialog getInstance() { - ProvinceListDialog dialogFragment = new ProvinceListDialog(); + private DialogCallBack.CallBack mCallBack; + + public ProvinceListDialog(DialogCallBack.CallBack callBack) { + this.mCallBack = callBack; + } + + public static ProvinceListDialog getInstance(DialogCallBack.CallBack callBack) { + ProvinceListDialog dialogFragment = new ProvinceListDialog(callBack); dialogFragment.setCanceledBack(true); dialogFragment.setCanceledOnTouchOutside(true); dialogFragment.setRadius(CircleDimen.RADIUS); @@ -53,16 +61,15 @@ public class ProvinceListDialog extends BaseCircleDialog implements AdapterView. if (provinces != null) { for (int i = 0; i < provinces.split(",").length; i++) { - String[] itmt = provinces.split(","); - data.add(itmt[i] + "省"); - //data.add(i,provinces.replaceAll(",","省")); - + ProvinceInfo.ProvincesBean provincesBean = new ProvinceInfo.ProvincesBean(); + provincesBean.setRegionName(provinces.split(",")[i] + "省"); + data.add(provincesBean); } } else { HttpManager.getInstance().provices(getActivity()); } - listadapter = new ArrayAdapter(getActivity(), R.layout.custom_adilog_list_item, R.id.list_items, data); + listadapter = new ProvincesAdapter(data,getActivity()); listView.setAdapter(listadapter); listView.setOnItemClickListener(this); @@ -71,12 +78,7 @@ public class ProvinceListDialog extends BaseCircleDialog implements AdapterView. @Override public void onItemClick(AdapterView parent, View view, int position, long id) { //Toast.makeText(getActivity(), "你点击了第" + position + "个", Toast.LENGTH_LONG).show(); - switch (position){ - - } - - - + mCallBack.provinceOnItemClick(parent,view,position,id); dismiss(); } diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/interfaces/DialogCallBack.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/interfaces/DialogCallBack.java new file mode 100644 index 0000000..a63cfa8 --- /dev/null +++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/interfaces/DialogCallBack.java @@ -0,0 +1,14 @@ +package com.hjx.personalcenter.interfaces; + +import android.view.View; +import android.widget.AdapterView; + +/** + * Created by wei on 2017/8/17. + */ + +public class DialogCallBack { + public interface CallBack{ + void provinceOnItemClick(AdapterView parent, View view, int position, long id); + } +} diff --git a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/model/CountyInfo.java b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/model/CountyInfo.java index 52b41ba..85b4318 100644 --- a/PersonalCenter/app/src/main/java/com/hjx/personalcenter/model/CountyInfo.java +++ b/PersonalCenter/app/src/main/java/com/hjx/personalcenter/model/CountyInfo.java @@ -8,6 +8,7 @@ import java.util.List; public class CountyInfo { + /** * status : 100 * message : success -- 1.9.0