List 颤振:导入正确的颜色值​;使用另一个类的链接id

List 颤振:导入正确的颜色值​;使用另一个类的链接id,list,flutter,dart,provider,List,Flutter,Dart,Provider,我想访问另一个类(类rubritem)中的列表中的数据。颜色必须是具有相应id的颜色 然后我想将我从rubritem类调用的列表中的数据插入Colors类中的列表。Colors类中的参数id为:。根据我输入的ID,我的“rubricColor:”应该知道它的值 例如: 我从Colors类“BlueAccent”中写下列表的id值,然后他还必须知道哪种颜色必须使用rubricColor:。他在Colors类的id:处看到“BlueAccent”,并将其与rubritem类列表中的id:进行比较,在

我想访问另一个类(类rubritem)中的列表中的数据。颜色必须是具有相应id的颜色

然后我想将我从rubritem类调用的列表中的数据插入Colors类中的列表。Colors类中的参数id为:。根据我输入的ID,我的“rubricColor:”应该知道它的值

例如:

我从Colors类“BlueAccent”中写下列表的id值,然后他还必须知道哪种颜色必须使用rubricColor:。他在Colors类的id:处看到“BlueAccent”,并将其与rubritem类列表中的id:进行比较,在rubritem类的相同列表中看到颜色值,在Colors类的列表中看到我的rubricColor:值,从rubritem类的列表中获取颜色值

我希望你明白我的意思。 我很难解释

rubritem
class:

class _RubricItemState extends State<RubricItem> {
  final List<Rubric> rubrics = [
    Rubric(
      id: 'BlueAccent',
      title: "BLUEACCENT",
      color: Colors.blueAccent,
      icon: 'assets/icons/blueAC.png',
    ),
    Rubric(
      id: "Pink",
      title: "PINK",
      color: Colors.pinkAccent,
      icon: 'assets/icons/PINK.png',
    ),
    Rubric(
      id: 'GreenAccent',
      title: "GREENACCENT",
      color: Colors.greenAccent,
      icon: 'assets/icons/GreenAccent.png',
    ),
  ];
...
class\u rubritemstate扩展状态{
最终清单准则=[
量规(
id:'蓝口音',
标题:“蓝口音”,
颜色:Colors.blueAccent,
图标:“assets/icons/blueAC.png”,
),
量规(
id:“粉红色”,
标题:“粉红”,
颜色:Colors.pinkAccent,
图标:“assets/icons/PINK.png”,
),
量规(
id:“绿色口音”,
标题:“绿色口音”,
颜色:Colors.greenAccent,
图标:“assets/icons/GreenAccent.png”,
),
];
...
颜色类别列表:

final List<Colorr> colors = [
  Colorr(
    id: 'BlueAccent',  // with this id he should be find the id in the List of the RubricItem() class 
    title: 'Blabla',
    rubric: '',
    rubricColor: , //(RubricItemColor)
  ),
];
最终列表颜色=[
着色剂(
id:'BlueAccent',//使用此id,应该可以在rubritem()类的列表中找到该id
标题:“布拉布拉”,
标题:“,
rubricColor:,/(RubricItemColor)
),
];

使用地图而不是列表

map<String, Rubric>
map<String, Colorr>
map
地图
字符串就是ID,然后使用ID

Edit1:示例

我不知道这是否是解决你问题的最好方法,但它是有效的

我使用map的键作为id,并从Rubric类和Colorr类中删除了id

import 'package:flutter/material.dart';
void main() {

  final Map<String,Rubric> rubrics = {
    'BlueAccent': Rubric(title:'BLUEACCENT',color:  Colors.blueAccent, icon:   'assets/icons/blueAC.png'),
  };
  final Map<String, Colorr> colors = {
    'BlueAccent': Colorr(title: 'title', rubric:rubrics['BlueAccent'],rubricColor: rubrics['BlueAccent'].color),
  };
}


class Rubric{
  Rubric({this.title,this.icon,this.color});
  final String title;
  final Color color;
  final String icon;
}

class Colorr{
  Colorr({this.title,this.rubric,this.rubricColor});
  final String title;
  final Rubric rubric;
  final Color rubricColor;
}
导入“包装:颤振/材料.省道”;
void main(){
最终地图准则={
“BlueAccent”:Rubric(标题:'BlueAccent',颜色:Colors.BlueAccent,图标:'assets/icons/blueAC.png'),
};
最终贴图颜色={
“BlueAccent”:Colorr(标题:'title',量规:量规['BlueAccent'],量规颜色:量规['BlueAccent']。颜色),
};
}
等级量规{
标题({this.title,this.icon,this.color});
最后的字符串标题;
最终颜色;
最后的字符串图标;
}
类着色剂{
Colorr({this.title,this.rubric,this.rubricColor});
最后的字符串标题;
最终准则;
最终颜色红宝石色;
}

首先非常感谢您……但如果您能更好地解释一下,我会很高兴的……@Tolga np man。请查看编辑,希望我的答案有帮助,祝您好运:)。