flutter change independent ui inside listview builder

Solution for flutter change independent ui inside listview builder
is Given Below:

I have a listview with multiple data and each have a button and what i want is that if i press one of the buttons on one then its ui should and should not affect others

List toggleLike = [];
//..

Obx(() => ListView.builder(
              itemCount: uController.isPostTimeout.value == true
                  ? 1
                  : uController.isLoading.value == true
                      ? 3
                      : uController.postList.length,
              itemBuilder: (context, idx) {
               var isLiked = false.obs;
               return GestureDetector(onTap: () {
                  if(toggleLike.contains(idx)) {
                     toggleLike.removeWhere((el) => el == idx);
                     isLiked.value = false;
                  }
                  else {
                     toggleLike.add(idx)
                     isLiked.value = true;
                  }
                  setState((){});
                }, 
               child: toggleLike.contains(idx) == false ? Text("No Touched") : Text("Theres data"));
//..
})
//..

Whenever i do this the data changes but the UI doesn’t change except i reload it again before it changes. Please how do i do this i have also tried using obx to observe and change it but it still doesn’t work please how do i fix this