Skip to content

Template Method

Stefania Bezerra da Silva edited this page May 13, 2017 · 1 revision
Data Versão Descrição Autor
11/05/2017 1.0 Criação do documento Stefania Bezerra
11/05/2017 1.0 Inserção do código Stefania Bezerra
public class CreateExamFragment extends Fragment {
    private Spinner spinner;
    private TextView dateField;
    private Button saveExam;
    private EditText examTitle;
    private EditText examDescription;

    public CreateExamFragment() {
        // Required empty public constructor
    }
    @Override
    public void onActivityCreated(Bundle savedInstanceState){
        super.onActivityCreated(savedInstanceState);

        getViews();
        // TODO Get all User disciplines
        // DisciplinePresenter disciplinePresenter = new DisciplinePresenter(getContext());
        // List<String> allUserDisciplinesName = disciplinePresenter.getAllDisciplinesName(0);
        List<String> allUserDisciplinesName = new ArrayList<>();
        allUserDisciplinesName.add("Orientação a Objetos");
        allUserDisciplinesName.add("Técnicas de Programação");
        allUserDisciplinesName.add("Desenvolvimento Avançado de Software");
        allUserDisciplinesName.add("Interação Humano Computador");

        ArrayAdapter testAdapter = new ArrayAdapter(this.getContext(), R.layout.spinner, allUserDisciplinesName);

        ArrayAdapter<String> adapter = new ArrayAdapter<>(this.getContext(),
                android.R.layout.simple_spinner_item, allUserDisciplinesName);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(testAdapter);
        setListenerToSpinner(spinner);
        setCurrentDate(dateField);

        dateField.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DialogFragment datePickerFragment = new DatePickerFragment();

                datePickerFragment.show(getFragmentManager(), "DatePicker");
            }
        });

        saveExam.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                String discipline = spinner.getSelectedItem().toString();
                String title = examTitle.getText().toString();
                String description = examDescription.getText().toString();

                DisciplinePresenter disciplinePresenter = new DisciplinePresenter(getContext());
                //Discipline examDiscipline = disciplinePresenter.getDisciplineByName(userId);
                // TODO Get user disciplines by Name
                Integer disciplineId = 0; //examDiscipline.getDisciplineId();

                DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
                Date date = null;
                try {
                    date = formatter.parse(dateField.getText().toString());
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                // TODO Get out the test of exam2

                Exam exam = new Exam(1, date, date, date, title, disciplineId, 0F, description);
                ExamDAO examDAO = new ExamDAO(getContext());

                Toast.makeText(getContext(), "Prova salva com sucesso! ",
                        Toast.LENGTH_SHORT).show();
            }
        });
    }

    private void getViews() {
        spinner = (Spinner) getView().findViewById(R.id.discipline_field);
        dateField = (TextView) getView().findViewById(R.id.date_field);
        saveExam = (Button) getView().findViewById(R.id.button_save_exam);
        examTitle = (EditText) getView().findViewById(R.id.title_field);
        examDescription = (EditText) getView().findViewById(R.id.description_field);
    }

    private void setCurrentDate(TextView dateField) {
        final Calendar c = Calendar.getInstance();
        int day = c.get(Calendar.DAY_OF_MONTH);
        int month = c.get(Calendar.MONTH);
        int year = c.get(Calendar.YEAR);

        dateField.setText(String.format("%02d", day) + "/" + String.format("%02d", month) +
                "/" + String.format("%02d", year));
    }

    public void setListenerToSpinner(Spinner spinner){
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String discipline = parent.getItemAtPosition(position).toString();
                Toast.makeText(parent.getContext(), "You selected: " + discipline,
                        Toast.LENGTH_LONG).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment

        return inflater.inflate(R.layout.fragment_create_exam, container, false);
    }
}

Clone this wiki locally