• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Flutter 게시판 다른 class 변수 가져와 사용하기 문의

다른 class 변수 가져와 사용하기 문의

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #28648

    Chris
    참가자

    수강 완료후 자체 프로젝트 진행 중 해결이 되지 않는 문제로 부득이하게 문의 드립니다.

    문제 부분은  1번 파일의 setItemCount 변수를 2번 파일에서 가져오려 하는대  null 값으로만 나옵니다. 

    1번 파일의 setItemCount 변수를 2번 파일 ChildCount  클래스와 Judgement 클래스에서 사용하고 Judgement 클래스의 if 문 결과 값을 실행 시키고 싶은대 해결이 안되어 도움 요청 드립니다.

    1번 파일

    class _NewlyMarried extends State<NewlyMarried> {
    var marriage = [
    '좋아하는 과일'

    '아주 좋아하는 과일'

    '보통 과일'

    '싫어하는 과일'

    '아주 싫어하는 과일'

    ];

    int setItemCount = 0;

    @override
    Widget build(BuildContext context) {
    return Scaffold(
    appBar: AppBar(
    title: Text(
    '예제 프로젝트',
    style: TextStyle(fontSize: 20.0),
    ),
    centerTitle: true,
    ),
    body: ListView.separated(
    scrollDirection: Axis.vertical,
    separatorBuilder: (BuildContext context, int index) => const Divider(
    color: Colors.black,
    ),
    itemCount: 5,
    itemBuilder: (BuildContext context, int index) {
    return ListTile(
    title: Text('${marriage[index]}'),
    onTap: () {
    setItemCount = index;
    print(setItemCount);
    Get.to(() => (ChildCount()));

    },
    );
    }),
    );
    }
    }

    2번 파일

    class ChildCount extends StatefulWidget {
    static var setChildCount;

    const ChildCount({Key? key}) : super(key: key);

    @override
    State<ChildCount> createState() => _ChildCount();
    }

    class _ChildCount extends State<ChildCount> {
    var child = [
    '딸기',
    '바나나',
    '수박',
    ];

    int setChildCount = 0;
    @override
    Widget build(BuildContext context) {
    return Scaffold(
    appBar: AppBar(
    title: Text(
    '과일 고르기',
    style: TextStyle(fontSize: 20.0),
    ),
    centerTitle: true,
    ),
    body: ListView.separated(
    scrollDirection: Axis.vertical,
    separatorBuilder: (BuildContext context, int index) => const Divider(
    color: Colors.black,
    ),
    itemCount: 3,
    itemBuilder: (BuildContext context, int index) {
    return ListTile(
    title: Text('${child[index]}'),
    onTap: () {
    setChildCount = index;
    print(setChildCount);
    print(NewlyMarried.setItemCount);
    setState(() {
    Judgement();
    });

    },
    );
    }),
    );
    }
    }

    class Judgement {
    var childcount = ChildCount.setChildCount;
    var marriage = NewlyMarried.setItemCount;

     

    void judge(childcount, marriage) {
    if (childcount == 0 && marriage == 0) {
    Get.to(() => (NotQualified()));
    } else if (childcount == 0 && marriage == 1) {
    Get.to(() => (NotQualified()));
    } else if (childcount == 0 && marriage == 2) {
    Get.to(() => (NotQualified()));
    } else if (childcount == 1 && marriage == 0) {
    Get.to(() => (NotQualified()));
    } else if (childcount == 1 && marriage == 1) {
    Get.to(() => (NotQualified()));
    } else if (childcount == 1 && marriage == 2) {
    Get.to(() => (NotQualified()));
    } else if (childcount == 2 && marriage == 0) {
    Get.to(() => (NotQualified()));
    } else if (childcount == 2 && marriage == 1) {
    Get.to(() => (Qualified()));
    } else if (childcount == 2 && marriage == 2) {
    Get.to(() => (NotQualified()));
    } else if (childcount == 3 && marriage == 0) {
    Get.to(() => (NotQualified()));
    } else if (childcount == 3 && marriage == 1) {
    Get.to(() => (NotQualified()));
    } else if (childcount == 3 && marriage == 2) {
    Get.to(() => (Qualified()));
    } else if (childcount == 4 && marriage == 0) {
    Get.to(() => (NotQualified()));
    } else if (childcount == 4 && marriage == 1) {
    Get.to(() => (Qualified()));
    } else if (childcount == 4 && marriage == 2) {
    Get.to(() => (Qualified()));
    } else {
    Get.to(() => (NotQualified()));
    }
    }
    }

    #28666

    codingapple
    키 마스터

    class안에있는 변수는 다른 class에서 자유롭게 못씁니다 

    3-step 전송하거나 provider 에 변수만들어놓으면 사용가능합니다 

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠