ฉันเพิ่งเริ่มใช้ Firebase และในที่สุดฉันก็ได้รับข้อมูลจาก Firebase จนกระพือปีก ฉันทำงานกับสีและการ์ดแต่ละใบมีสีและหมายเลขสี
ฉันมีใน Firebase: ฟิลด์ colorCode ซึ่งเป็นสตริงและมีค่า '0xFFFFB142'
ใน Flutter ฉันพยายามทำสิ่งนี้:
final int colorCode = list[index]['colorCode'].hashCode;
Container(
height: 25.0,
width: 25.0,
color: Color(colorCode),
),
ฉันไม่มีความล้มเหลว แต่ฉันไม่เห็นสี
จะต้องเป็น int แต่เป็นเลขฐานสิบหกในโค้ดสตริง เมื่อฉันลอง int ใน Firebase ฉันพบความล้มเหลวเพราะมันเป็นเลขฐานสิบหก
อัปเดต: ขอบคุณทุกท่านสำหรับความช่วยเหลือของคุณจนถึงตอนนี้! ฉันป้อนรหัสด้วยตัวเองใน Firebase มันเหมือนกับที่คุณใส่ตามปกติในตำแหน่งนั้น เช่น color: Color(0xFFFFB142) โดยที่ FFB142 คือสี #FFB142 ใน Firebase ฉันใช้ String เนื่องจากไม่อนุญาตให้ใช้รหัส int หรือรหัสธรรมดา ด้วยรหัสของฉันเมื่อฉันพิมพ์มัน: ได้ 171924876 นั่นไม่ใช่รหัสสีที่ถูกต้อง
ฉันได้ลองสิ่งนี้แล้ว:
final dynamic colorCode =
list[index]['colorCode'].toString();
print(colorCode); // the right color code is printend: 0xFFFFB142
และเมื่อฉันใส่สิ่งนี้เข้าไป:
Container(
height: 25.0,
width: 25.0,
color: Color(0xFFFFB142),
มันใช้งานได้ดี แต่ฉันมีรหัสสีอื่นใน Firebase สำหรับแต่ละรายการ
ฉันพบว่ามันแปลกมากที่ได้รับข้อความแสดงข้อผิดพลาดนี้ เพราะฉันไม่ต้องการ int ที่นั่น แต่มีรหัสสีเช่น 0xFFFFB142
type 'String' is not a subtype of type 'int'
หวังว่าคุณจะช่วยฉันได้!
colorCode
ไปยังคอนโซลคืออะไร? - person Gabe   schedule 23.02.2020171924876
ไม่ใช่สีที่ดีนัก คุณได้รับมันมาจากไหน และคุณนำมันเข้าสู่ Firebase ได้อย่างไร - person Richard Heap   schedule 24.02.2020Color(colorCode)
ใช้convertToColor(colorCode)
- person Richard Heap   schedule 24.02.2020