-
글쓴이글
-
2022년 3월 3일 14:51 #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()));
}
}
}2022년 3월 3일 17:55 #28666
codingapple키 마스터class안에있는 변수는 다른 class에서 자유롭게 못씁니다
3-step 전송하거나 provider 에 변수만들어놓으면 사용가능합니다
-
글쓴이글
- 답변은 로그인 후 가능합니다.