package cn.com.basic.face.fragment; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.view.Gravity; import android.view.View; import android.widget.DatePicker; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.bsk.zhangbo.demoforbsk.R; import cn.com.basic.face.base.BaseFragment; import cn.com.basic.face.service.DictionaryMng; import cn.com.basic.face.service.RegisterMng; import cn.com.basic.face.service.VisitorTypeMng; import cn.com.basic.face.listeners.OkButtonClickedListener; import cn.com.basic.face.widget.BirthdayPickerDialog; import cn.com.basic.face.widget.CountrySelectionPopup; import cn.com.basic.face.widget.SingleSelectionPopup; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import org.xutils.http.RequestParams; import java.io.IOException; import java.util.Date; import java.util.HashMap; import java.util.List; import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.discern.entity.Person; import cn.com.basic.face.discern.entity.VisitPersonType; /** * Created by Administrator on 2017/2/20 0020. */ //@ContentView(value = R.layout.fragment_register) public class RegisterFragment extends BaseFragment implements View.OnClickListener{ private static final int PICK_IMAGE_REQUEST = 1; @ViewInject(value = R.id.register_tv_content, parentId = R.id.register_id_class) private TextView identityTypeTv; private TextView genderTv; private TextView countryTv; private TextView birthdayTv; private TextView isitorvTypeTv; private TextView mViewVisitorClassTitle; private EditText nameEt, phoneEt, identifyEt, companyEt,mViewRemarkContent; private List mSexList; private List mVisitorTypeList; private List mCredentialsList; private LinearLayout mBaseLayout; @ViewInject(R.id.register_name) private View mViewName; @ViewInject(R.id.register_gender) private View mViewSex; @ViewInject(R.id.register_country) private View mViewNation; @ViewInject(R.id.register_birthday) private View mViewBirthday; @ViewInject(R.id.register_visitor_class) private View mViewVisitorClass; @ViewInject(R.id.register_phone) private View mViewPhone; @ViewInject(R.id.register_id_class) private View mViewIdClass; @ViewInject(R.id.register_id_num) private View mViewIdNumber; @ViewInject(R.id.register_company) private View mViewCompayName; @ViewInject(R.id.register_remark) private View mViewRemark; private String[] countryWordData; private List countryWordList; private HashMap> countryData; private static RegisterFragment instance = new RegisterFragment(); public static RegisterFragment getInstance() { return instance; } @Override protected int getLayoutId() { return R.layout.fragment_register; } @Override protected void initViews(View view, Bundle savedInstanceState) { mBaseLayout = (LinearLayout) view.findViewById(R.id.register_base); ViewUtils.inject(this, mBaseLayout); genderTv = (TextView) mViewSex.findViewById(R.id.register_tv_content); countryTv = (TextView) mViewNation.findViewById(R.id.register_tv_content); birthdayTv= (TextView) mViewBirthday.findViewById(R.id.register_tv_content); isitorvTypeTv = (TextView) mViewVisitorClass.findViewById(R.id.register_tv_content); // mViewIdentityTypeContent = (TextView) mViewIdClass.findViewById(R.id.register_tv_content); nameEt = (EditText) mViewName.findViewById(R.id.register_et_content); phoneEt = (EditText) mViewPhone.findViewById(R.id.register_et_content); identifyEt = (EditText) mViewIdNumber.findViewById(R.id.register_et_content); companyEt = (EditText) mViewCompayName.findViewById(R.id.register_et_content); mViewRemarkContent = (EditText) mViewRemark.findViewById(R.id.register_et_content); ((TextView) mViewName.findViewById(R.id.register_et_title)).setText(R.string.title_name); ((TextView) mViewSex.findViewById(R.id.register_tv_title)).setText(R.string.title_sex); ((TextView) mViewNation.findViewById(R.id.register_tv_title)).setText(R.string.title_nation); ((TextView) mViewBirthday.findViewById(R.id.register_tv_title)).setText(R.string.title_birthday); ((TextView) mViewVisitorClass.findViewById(R.id.register_tv_title)).setText(R.string.title_visitorClass); ((TextView) mViewPhone.findViewById(R.id.register_et_title)).setText(R.string.title_phone); ((TextView) mViewIdClass.findViewById(R.id.register_tv_title)).setText(R.string.title_idClass); ((TextView) mViewIdNumber.findViewById(R.id.register_et_title)).setText(R.string.title_idNumber); ((TextView) mViewCompayName.findViewById(R.id.register_et_title)).setText(R.string.title_companyName); ((TextView) mViewRemark.findViewById(R.id.register_et_title)).setText(R.string.title_remark); } @OnClick(R.id.register_save) public void registerEdit(View view) { } @OnClick(R.id.register_add) public void registerAdd(View v) { RequestParams params = new RequestParams(); params.addBodyParameter(Person.FieldNames.name, nameEt.getText().toString()); params.addBodyParameter(Person.FieldNames.phone, phoneEt.getText().toString()); params.addBodyParameter(Person.FieldNames.gender, DictionaryMng.getInstance().getId(genderTv.getText().toString())); params.addBodyParameter(Person.FieldNames.identityType, DictionaryMng.getInstance().getId(identityTypeTv.getText().toString())); params.addBodyParameter(Person.FieldNames.country, DictionaryMng.getInstance().getId(countryTv.getText().toString())); params.addBodyParameter(Person.FieldNames.identify, identifyEt.getText().toString()); params.addBodyParameter(Person.FieldNames.birthday, birthdayTv.getText().toString()); params.addBodyParameter("companyName", companyEt.getText().toString()); //visitor_type params.addBodyParameter(VisitPersonType.FieldNames.visitorTypeId, VisitorTypeMng.getInstance().getId(isitorvTypeTv.getText().toString())); params.addBodyParameter(VisitPersonType.FieldNames.registerCompanyId, "0"); RegisterMng.getInstance().add(params); } @Override protected void initData() { // mVisitorTypeList = VisitorTypeMng.mVisitorTypeList; // mSexList = DictionaryMng.mSexList; // mCredentialsList = DictionaryMng.mCredentialsList; } public void setVisitorTypeList(List visitorTypeList) { this.mVisitorTypeList = visitorTypeList; } public void setSexList(List sexList) { this.mSexList = sexList; } public void setCredentialsList(List credentialsList) { this.mCredentialsList = credentialsList; } @OnClick(R.id.register_gender) public void selectGender(View view) { SingleSelectionPopup popup = new SingleSelectionPopup(getActivity(),mSexList,"性别"); popup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); popup.addOkButtonClickedListener(new OkButtonClickedListener() { @Override public void onItemSelected(int position, Object o, String item) { genderTv.setText(item); } }); } public void setCountryData(String[] countryWordData, List countryWordList, HashMap> countryData) { this.countryData = countryData; this.countryWordList = countryWordList; this.countryData = countryData; } @OnClick(R.id.register_country) public void selectCountry(View view) { CountrySelectionPopup countrySelectionPopup = new CountrySelectionPopup(getActivity(), countryWordData,countryWordList,countryData); countrySelectionPopup.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); countrySelectionPopup.addOkButtonClickedListener(new OkButtonClickedListener() { @Override public void onItemSelected(int position, Object o, String item) { countryTv.setText(item); } }); } @OnClick(R.id.register_birthday) public void selectBirthday(View view) { Date date = new Date(); BirthdayPickerDialog myDatePickerDialog=new BirthdayPickerDialog(getActivity(),android.R.style.Theme_Holo_Light_Dialog_NoActionBar, new BirthdayPickerDialog.OnDateSetListener(){ @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { int month=monthOfYear+1; birthdayTv.setText(year+"-"+month+"-"+dayOfMonth); } },date); myDatePickerDialog.myShow(); } @OnClick(R.id.register_visitor_class) public void selectVisitorType(View view) { SingleSelectionPopup popup1 = new SingleSelectionPopup(getActivity(),mVisitorTypeList,"访客类型"); popup1.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); popup1.addOkButtonClickedListener(new OkButtonClickedListener() { @Override public void onItemSelected(int position, Object o, String item) { isitorvTypeTv.setText(item); } }); } @OnClick(R.id.register_id_class) public void selectIdentityType(View view) { SingleSelectionPopup popup2 = new SingleSelectionPopup(getActivity(),mCredentialsList,"证件类型"); popup2.showAtLocation(mBaseLayout, Gravity.CENTER,0,0); popup2.addOkButtonClickedListener(new OkButtonClickedListener() { @Override public void onItemSelected(int position, Object o, String item) { identityTypeTv.setText(item); } }); } /** * 选择人物快照 * @param view */ @OnClick(R.id.register_choose_photo) public void selectPersonPhoto(View view) { Toast.makeText(getActivity(), "选择人物快照", Toast.LENGTH_SHORT).show(); } /** * 点击上传图片 * @param view */ @OnClick(R.id.register_update__photo) public void clickUploadPhoto(View view) { Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(Intent.createChooser(intent, "选择图片"), PICK_IMAGE_REQUEST); } @ViewInject(R.id.register_update__photo) private ImageView ploadPhotoIv; @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == PICK_IMAGE_REQUEST && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { Uri uri = data.getData(); try { Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); // Log.d(TAG, String.valueOf(bitmap));u ploadPhotoIv.setImageBitmap(bitmap); // ImageView imageView = (ImageView) findViewById(R.id.imageView); // imageView.setImageBitmap(bitmap); } catch (IOException e) { e.printStackTrace(); } } } /** * 证件快照 * @param view */ @OnClick(R.id.register_idcard_photo) public void identityPhoto(View view) { Toast.makeText(getActivity(), "证件快照", Toast.LENGTH_SHORT).show(); } @OnClick(R.id.register_back) public void back(View view) { MainActivity.selectPage(0); } @Override public void onClick(View v) {} }