setState не работает и не меняет трепетание моего интерфейса - PullRequest
0 голосов
/ 21 апреля 2020

каждый

Я использую ListView.builder() для создания представления списка в моем приложении и использую List<Message> messages в качестве элементов списка, который Message является пользовательским компонентом, я сделал его

   if(selectionObject == null) return null;
   var _value = selectionObject[conditionKeys[0]];
   for(int i = 1;i < conditionKeys.length;i++){
     _value = _value[conditionKeys[i]];

   }

   return _value.toString();
 }



 visibilityButtonsWithConditions(final selectedObject){


   selectionObject = selectedObject;

   bool isButtonVisible;
  for(Message message in messages){
     if(message.type == "button"){
       isButtonVisible = true;
       if(message.conditions!= null){
         List<bool> operations = List<bool>();
         for(int j = 0 ; j < message.conditions.length;j++){
           String keyValue = getKey(message.conditions[j]['Key'],selectedObject);
           String value =message.conditions[j]['Value'];

           operations.add(value == keyValue);
         }
         isButtonVisible = operations[0];
         for(int j = 1;j < operations.length;j++){
           /// TODO : HANDLING MANY CONDITIONS & IF THERE IS && OR || lATER
           isButtonVisible = operations[j];
         }
       }

         setState(() {
            message.isButtonVisible = isButtonVisible;
         });
     }
     else{
       break;
     }
   }


 }

Все, что я делаю, это вызываю эту функцию в функции обратного вызова. Может ли кто-нибудь помочь мне с этой проблемой?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...