@Nullable @Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rootview = inflater.inflate(R.layout.offre_layout, container, false); Typeface font = Typeface.createFromAsset( getActivity().getAssets(), "font-awesome-4.3.0/fonts/fontawesome-webfont.ttf"); autoCompViewFrom = (AutoCompleteTextView) rootview.findViewById(R.id.etStarting); autoCompViewFrom.setTypeface(font); autoCompViewFrom.setAdapter( new PlacesAutoCompleteAdapter(getActivity(), R.layout.list_autocomplete)); autoCompViewTo = (AutoCompleteTextView) rootview.findViewById(R.id.etDestination); autoCompViewTo.setTypeface(font); autoCompViewTo.setAdapter( new PlacesAutoCompleteAdapter(getActivity(), R.layout.list_autocomplete)); // NumericPicker nbre de places etNbreProp = (AutoCompleteTextView) rootview.findViewById(R.id.etNbreProposition); // DatePicker date de depart /** ** Gestion de la date de dpart */ etDate_ = (AutoCompleteTextView) rootview.findViewById(R.id.etDate); // Get current date by calender c_date = Calendar.getInstance(); year_depart = c_date.get(Calendar.YEAR); month_depart = c_date.get(Calendar.MONTH); day_depart = c_date.get(Calendar.DAY_OF_MONTH); etDate_.setText( new StringBuilder() .append(month_depart + 1) .append("-") .append(day_depart) .append("-") .append(year_depart) .append(" ")); mDatePicker = new DatePickerDialog( getActivity(), new DatePickerDialog.OnDateSetListener() { public void onDateSet( DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) { c_date.set(selectedyear, selectedmonth, selectedday); // si ca se trouve ca sert a rien mais je le fais qd meme year_depart = selectedyear; month_depart = selectedmonth; day_depart = selectedday; etDate_.setText( new StringBuilder() .append(selectedmonth + 1) .append("-") .append(selectedday) .append("-") .append(selectedyear) .append(" ")); } }, year_depart, month_depart, day_depart); etDate_.setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { mDatePicker.setTitle("Date de départ"); mDatePicker.show(); Log.d("log", "dans le logId"); Log.d("anee", "anne " + year_depart); Log.d("mois", "anne " + month_depart); Log.d("jour", "anne " + day_depart); etDate_.requestFocus(); return false; } }); /** Gestion du temps de depart */ // Get current date by calender c_time_entre = Calendar.getInstance(); hour_entre = c_time_entre.get(Calendar.HOUR_OF_DAY); minute_entre = c_time_entre.get(Calendar.MINUTE); ac_etBetweenStart = (AutoCompleteTextView) rootview.findViewById(R.id.etBetweenStart); ac_etBetweenStart.setText( new StringBuilder() .append(padding_str(hour_entre)) .append(":") .append(padding_str(minute_entre))); timePickerListenerEntre = new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int selectedHour, int selectedMinute) { hour_entre = selectedHour; minute_entre = selectedMinute; // set current time into textview ac_etBetweenStart.setText( new StringBuilder() .append(padding_str(hour_entre)) .append(":") .append(padding_str(minute_entre))); } }; timePickeraDialog_entre = new TimePickerDialog( getActivity(), timePickerListenerEntre, hour_entre, minute_entre, false); ac_etBetweenStart.setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { timePickeraDialog_entre.show(); Log.d("log", "dans le logId"); Log.d("heure depart", "heure " + hour_entre); Log.d("minute depart", "minute " + minute_entre); ac_etBetweenStart.requestFocus(); return false; } }); /** * Gestion du temps d'arrivee */ // TimePicker et ac_etBetweenEnd = (AutoCompleteTextView) rootview.findViewById(R.id.etBetweenEnd); c_time_et = Calendar.getInstance(); hour_et = c_time_et.get(Calendar.HOUR_OF_DAY); minute_et = c_time_et.get(Calendar.MINUTE); ac_etBetweenEnd.setText( new StringBuilder() .append(padding_str(hour_et)) .append(":") .append(padding_str(minute_et))); timePickerListenerEt = new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int selectedHour, int selectedMinute) { hour_et = selectedHour; minute_et = selectedMinute; // set current time into textview ac_etBetweenEnd.setText( new StringBuilder() .append(padding_str(hour_et)) .append(":") .append(padding_str(minute_et))); } }; timePickerDialog_et = new TimePickerDialog(getActivity(), timePickerListenerEt, hour_et, minute_et, false); ac_etBetweenEnd.setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { timePickerDialog_et.show(); Log.d("log", "dans le logId"); Log.d("heure arrivee", "heure " + hour_et); Log.d("minute arrivee", "minute " + minute_et); ac_etBetweenEnd.requestFocus(); return true; } }); Button submitOffer = (Button) (rootview.findViewById(R.id.btnSubmitOffer)); font = Typeface.createFromAsset( getActivity().getAssets(), "font-awesome-4.3.0/fonts/fontawesome-webfont.ttf"); submitOffer.append(" Ajouter Offre"); submitOffer.setTypeface(font); submitOffer.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // on verifie que l'utilisateur est connecte avant de rajouter une offre ParseUser current = ParseUser.getCurrentUser(); List<String> address = new ArrayList<>(); String eStarting = autoCompViewFrom.getText().toString(); String eDestination = autoCompViewTo.getText().toString(); String nbProp = etNbreProp.getText().toString(); if (eStarting.length() > 0 && eDestination.length() > 0 && nbProp.length() > 0) { address.add(eStarting); address.add(eDestination); if (current != null) { GeocodingLocation locationAddress = new GeocodingLocation(); locationAddress.getAddressFromLocation( address, getActivity().getApplicationContext(), new GeocoderHandler()); } else { Bundle bundle = new Bundle(); bundle.putString("textContent", getString(R.string.content_dialog_offer)); WarningConnectionFragment wcf = new WarningConnectionFragment(); wcf.setArguments(bundle); wcf.show(getActivity().getSupportFragmentManager(), "Alerte Connexion"); } } else { if (eStarting.length() == 0) { autoCompViewTo.setError("champ obligatoire"); autoCompViewTo.requestFocus(); } else { autoCompViewTo.setError(null); } if (eDestination.length() == 0) { autoCompViewFrom.setError("Champ obligatoire"); autoCompViewFrom.requestFocus(); } else { autoCompViewFrom.setError(null); } if (nbProp.length() == 0) { etNbreProp.setError("Champ obligatoire"); etNbreProp.requestFocus(); } else { etNbreProp.setError(null); } } } }); return rootview; }
@Nullable @Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rootview = inflater.inflate(R.layout.activity_modif_profil, container, false); btn_modif_profil = (Button) rootview.findViewById(R.id.modif_info_profil); Typeface font = Typeface.createFromAsset( getActivity().getAssets(), "font-awesome-4.3.0/fonts/fontawesome-webfont.ttf"); btn_modif_profil.append(" MODIFIER"); btn_modif_profil.setTypeface(font); /** Recuperer les valeurs des composants dans des variables */ pseudo = (TextView) rootview.findViewById(R.id.txt_modif_pseudo_userProfil); mail = (TextView) rootview.findViewById(R.id.txt_modif_courriel_userProfil); ancienMdp = (EditText) rootview.findViewById(R.id.txt_ancien_mdp); mdp = (EditText) rootview.findViewById(R.id.txtMdp_modif); confmdp = (EditText) rootview.findViewById(R.id.txtConfMdp_modif); dateNais = (EditText) rootview.findViewById(R.id.txt_modif_date_naiss_userProfil); nom = (EditText) rootview.findViewById(R.id.txt__modif_nom_userProfil); prenom = (EditText) rootview.findViewById(R.id.txt_modif_prenom_userProfil); radioM = (RadioButton) rootview.findViewById(R.id.radioM_modif); radioF = (RadioButton) rootview.findViewById(R.id.radioF_modif); // compteCree = (TextView) rootview.findViewById(R.id.compteCree); ((RadioButton) rootview.findViewById(R.id.radioF_modif)) .setOnTouchListener(radioButtonListener); ((RadioButton) rootview.findViewById(R.id.radioM_modif)) .setOnTouchListener(radioButtonListener); /** Obtenir l'heure courante du calendrier */ final Calendar c = Calendar.getInstance(); year = c.get(Calendar.YEAR); month = c.get(Calendar.MONTH); day = c.get(Calendar.DAY_OF_MONTH); /** gestion affichage calendrier */ final EditText txtCalendar = (EditText) rootview.findViewById(R.id.txt_modif_date_naiss_userProfil); txtCalendar.setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { datePickerDialog.show(); return false; } }); btn_modif_profil.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { // Perform action on click modifierUtilisateur(v); } }); // Initialisation des champs ParseUser us = ParseUser.getCurrentUser(); pseudo.setText(us.getString("username")); mail.setText(us.getString("email")); SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy"); dateNais.setText(sdf.format(us.getDate("birthday"))); nom.setText(us.getString("lastname")); prenom.setText(us.getString("firstname")); String gender = us.getString("gender"); if (gender.equals("M")) { radioM.setChecked(true); } else { radioF.setChecked(true); } /** Controle sur l'ancien mdp saisie */ // strAncienMdp = ancienMdp.getText().toString(); /** Controle sur la confirmation de Mdp */ final EditText password1 = (EditText) rootview.findViewById(R.id.txtMdp_modif); final EditText password2 = (EditText) rootview.findViewById(R.id.txtConfMdp_modif); strMdp = password1.getText().toString(); /** vérification du mot de passe et de la confirmation de mot de passe */ password2.addTextChangedListener( new TextWatcher() { public void afterTextChanged(Editable s) { String strPass1 = password1.getText().toString(); String strPass2 = password2.getText().toString(); if (!strPass1.equals(strPass2)) { password2.setError("Confirmation invalide"); } else { password2.setError(null); } } public void beforeTextChanged(CharSequence s, int start, int count, int after) {} public void onTextChanged(CharSequence s, int start, int before, int count) {} }); password1.addTextChangedListener( new TextWatcher() { public void afterTextChanged(Editable s) { String strPass1 = password1.getText().toString(); String strPass2 = password2.getText().toString(); if (!strPass1.equals(strPass2) && strPass2.length() > 0) { password2.setError("Confirmation invalide"); } else { password2.setError(null); } } public void beforeTextChanged(CharSequence s, int start, int count, int after) {} public void onTextChanged(CharSequence s, int start, int before, int count) {} }); /** Controle sur la taille du Mdp */ password1.setOnFocusChangeListener( new View.OnFocusChangeListener() { public void onFocusChange(View v, boolean hasFocus) { if (!hasFocus && password1.getText().length() < 5 && password1.getText().length() > 0) { // code to execute when EditText loses focus password1.setError("mot de passe trop court: minimum 5 caractères"); } else if (password1.getText().length() >= 5) { password1.setError(null); } } }); /** Controle sur l'age de l'utilisateur min 18 ans */ dateNais.addTextChangedListener( new TextWatcher() { public void afterTextChanged(Editable s) { int age = getYears(dateNais.getText().toString()); if (age < 18) { dateNais.setError("Age min 18 ans"); } else { dateNais.setError(null); } } public void beforeTextChanged(CharSequence s, int start, int count, int after) { dateNais.setError(null); } public void onTextChanged(CharSequence s, int start, int before, int count) { dateNais.setError(null); } }); datePickerDialog = new DatePickerDialog(getActivity(), pickerListener, year, month, day); return rootview; }