본문 바로가기

완성하지 못한 프로젝트/프로젝트 4 : 농부코딩님 Todo

농부코딩님 TODO 진행상황 4 : 추가, 삭제 기능 만들기

반응형

후아 주말에 대학 선배님들과 즐거운 여행...의 후유증으로 ㅋㅋㅋ

 

주말동안 코딩을 못했다. 

 

오자마자 농부코딩님의 Todo 어플 작업을 진행했다. 

 

미완료탭까지 완성했다. 

 

남은건 

1. 체크박스가 눌러지면 해당 할 일이 완료 페이지로 넘어가고 

2. 완료된 시간이 DateTime으로 입력 되는 작업이 필요하다 

3. 완료페이지에서의 해당 할 일을 누르면 기존 알럿창과 다르게 완료되었는지 체크박스와, 완료된 시간의 노출이 필요하다 ~

 

 

 

 

 

 

 

 

 

 

스스로 대견하다고 생각한 코드이다.

구글링도 안했고,GPT에게 물어보지도 않았고 내가 이렇게 하면 될 것같은데... 하면서 짠 코드이다!!!!!!

 

좀 복잡해보이긴 하지만 

해당 탭을 누르면 나는 기존의 데이터를 hinttext로 보여지게 하였다. 

 

 

해당 인덱스에 입력된 일을 누르면 

hinttext로 입력된 값이 노출 된다. 

만약 각 컨트롤러의 값이 IsEmpty면 기존의 값을 그대로 받고 

아니면 새로 입력된 컨트롤러의 값이 수정된 값으로 바뀌는 코드이다. 

 

 

 void saveExistTodo(int index) {
    setState(() {
//컨트롤러의 값을 조건문을 적용할 때에는 isEmpty를 쓴다. ==null 이 아님

      if (_controller_Title.text.isEmpty) {
        todayTodo[index].title = todayTodo[index].title;
      } else{ todayTodo[index].title = _controller_Title.text;

      }
      if (_controller_Time.text.isEmpty) {
        todayTodo[index].createTime = todayTodo[index].createTime;
      } else {todayTodo[index].createTime = _controller_Time.text;

      }
      if (_controller_desc.text.isEmpty) {
        todayTodo[index].desc = todayTodo[index].desc;
      } else {  todayTodo[index].desc = _controller_desc.text;

        todayTodo[index].complete = todayTodo[index].complete;


      }

      _controller_Title.clear();
      _controller_desc.clear();
      _controller_Time.clear();
    });
    Navigator.pop(context);
    setState(() {});
  }

 

728x90
반응형