반응형
'package:flutter/src/painting/image_resolution.dart':Failed assertion: line 136 pos 15: 'assetName != null': is not true.
의 오류 해결 방안이다 ..
이전의 코드를 보면
String _path;
...
...
...
_loadValue() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() {
_path = (prefs.getString('path') ?? '');
});
}
...
...
...
Widget build(BuildContext context) {
return Scaffold(
appBar: null,
body: Center(
child: CircleAvatar(
radius: 32,
backgroundColor: Colors.white,
child: _path == ''
? CircleAvatar(
radius: 30,
backgroundImage: AssetImage('Images/user.png'),
backgroundColor: Color(0xff191C2B),
),
: CircleAvatar(
radius: 30,
backgroundImage: AssetImage(_path),
backgroundColor: Color(0xff191C2B),
),
),
)
);
}
이렇게 구성 되어있었는데.. 아마 AssetIamge(_path)에서 오류가 난거 같다.
분기문에서 저기로 안빠져도 _path에 '' 가 들어가 있어서 null이 아니라고 뜨는 오류인것 같다.
String _path;
...
...
...
_loadValue() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() {
_path = (prefs.getString('path') ?? null); // null로 수정
});
}
...
...
...
Widget build(BuildContext context) {
return Scaffold(
appBar: null,
body: Center(
child: CircleAvatar(
radius: 32,
backgroundColor: Colors.white,
child: _path == null // null로 수정
? CircleAvatar(
radius: 30,
backgroundImage: AssetImage('Images/user.png'),
backgroundColor: Color(0xff191C2B),
),
: CircleAvatar(
radius: 30,
backgroundImage: AssetImage(_path),
backgroundColor: Color(0xff191C2B),
),
),
)
);
}
위와 같이 '' 부분을 null로 수정하면 오류가 보이지 않을 것이다.
반응형
'Language_ > Flutter' 카테고리의 다른 글
[Flutter] "취소키 방지" WillPopScope 총 정리?! (0) | 2020.11.05 |
---|---|
[Flutter] Error "setState() called after dispose(): (lifecycle state: defunct, not mounted" 해결 (0) | 2020.10.15 |
[Flutter] Button 총 정리! "Raised, Flat, Icon, FloatingAction" (0) | 2020.10.08 |
[Flutter] Bottom Navigation Bar 의 "모든 것" (0) | 2020.09.30 |
[Flutter] Navigator & Named Route"화면 전환의 시작" (9) | 2020.09.30 |
댓글