package com.hjx.personalcenter.fragment; import android.graphics.Color; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; import android.widget.TextView; import com.bigkoo.pickerview.TimePickerView; import com.hjx.personalcenter.R; import com.hjx.personalcenter.util.AlertUtils; import java.text.SimpleDateFormat; import java.util.Date; /** * Created by h on 2017/8/12. */ public class PresonInfoFragment extends Fragment implements View.OnClickListener { private View mView; private int type; private TimePickerView pvTime; private EditText tv_username1,tv_useinfo_adress1,tv_useinfo_qq; private TextView tv_sex, tv_useinfo_adress, tv_useinfo_birthday, tv_useinfo_school, tv_useinfo_gender; public static String TABLAYOUT_FRAGMENT = "tab_fragment"; public static PresonInfoFragment newInstance(int type) { PresonInfoFragment fragment = new PresonInfoFragment(); Bundle bundle = new Bundle(); bundle.putSerializable(TABLAYOUT_FRAGMENT, type); fragment.setArguments(bundle); return fragment; } @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { if (mView == null) { mView = inflater.inflate(R.layout.fragment_changge_presonal_info, container, false); initView(mView); initData(); setLister(); initTimePicker(); } return mView; } //初始化 private void initView(View mView) { tv_username1 = (EditText) mView.findViewById(R.id.tv_username1); tv_useinfo_adress1 = (EditText) mView.findViewById(R.id.tv_useinfo_adress1); tv_useinfo_qq = (EditText) mView.findViewById(R.id.tv_useinfo_qq); tv_sex = (TextView) mView.findViewById(R.id.tv_sex); tv_useinfo_adress = (TextView) mView.findViewById(R.id.tv_useinfo_adress); tv_useinfo_birthday = (TextView) mView.findViewById(R.id.tv_useinfo_birthday); tv_useinfo_school = (TextView) mView.findViewById(R.id.tv_useinfo_school); tv_useinfo_gender = (TextView) mView.findViewById(R.id.tv_useinfo_gender); } private void initData() { } private void setLister() { tv_sex.setOnClickListener(this); tv_useinfo_adress.setOnClickListener(this); tv_useinfo_birthday.setOnClickListener(this); tv_useinfo_school.setOnClickListener(this); tv_useinfo_gender.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.tv_sex: AlertUtils.showToast(getActivity(),"正在开发"); break; case R.id.tv_useinfo_adress: AlertUtils.showToast(getActivity(),"正在开发"); break; case R.id.tv_useinfo_birthday: pvTime.show(tv_useinfo_birthday);//弹出时间选择器,传递参数过去,回调的时候则可以绑定此view break; case R.id.tv_useinfo_school: AlertUtils.showToast(getActivity(),"正在开发"); break; case R.id.tv_useinfo_gender: AlertUtils.showToast(getActivity(),"正在开发"); break; } } //自定义时间选择器 private void initTimePicker() { //控制时间范围(如果不设置范围,则使用默认时间1900-2100年,此段代码可注释) //因为系统Calendar的月份是从0-11的,所以如果是调用Calendar的set方法来设置时间,月份的范围也要是从0-11 // Calendar selectedDate = Calendar.getInstance(); // Calendar startDate = Calendar.getInstance(); // startDate.set(1900, 1, 1); // Calendar endDate = Calendar.getInstance(); // endDate.set(2100, 1, 1); //时间选择器 pvTime = new TimePickerView.Builder(getActivity(), new TimePickerView.OnTimeSelectListener() { @Override public void onTimeSelect(Date date, View v) {//选中事件回调 // 这里回调过来的v,就是show()方法里面所添加的 View 参数,如果show的时候没有添加参数,v则为null /*btn_Time.setText(getTime(date));*/ TextView btn = (TextView) v; btn.setText(getTime(date)); } }) //年月日时分秒 的显示与否,不设置则默认全部显示 .setType(new boolean[]{true, true, true, false, false, false}) .setLabel("", "", "", "", "", "") .isCenterLabel(false) .setDividerColor(Color.DKGRAY) .setContentSize(21) // .setDate(selectedDate) // .setRangDate(startDate, endDate) .setBackgroundId(0x80000000) //设置外部遮罩颜色 .setDecorView(null) .setTitleText("购买日期") .setTitleSize(22) .setCancelColor(Color.GRAY) .setSubCalSize(22) .setDividerColor(Color.GRAY) .setSubmitColor(Color.GRAY) .build(); } private String getTime(Date date) {//可根据需要自行截取数据显示 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); return format.format(date); } }