Почему Element ClassWidget не может быть назначен для списки виджета?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Почему Element ClassWidget не может быть назначен для списки виджета?

Сообщение Anonymous »

Код: Выделить всё

ImagePickerOverlayWidget< /code> элемент не может быть назначен в список виджетов. < /p>
Когда у меня есть
imagepickeroverly class in my file and use it, I have no problem< /code>.
Но если я помесчу его в отдельный файл и импортирую, я получаю ошибку.
здесь я использую свой класс:
column(children : [ImagePickerOverlayWidget(data:data) ])< /code>.
и это мой класс: < /p>
class ImagePickerOverlayWidget extends StatelessWidget {
final CheckItemModel data;

const ImagePickerOverlayWidget({super.key, required this.data});

@override
Widget build(BuildContext context) {
final controller = Get.put(
ImagePickerController(data.id.toString()),
tag: data.id.toString(),
);
return Visibility(
visible: data.isImage,
child: Column(
children: [
Container(
width: Get.width,
height: Get.height * 0.30,
decoration: BoxDecoration(
color: Colors.grey.withValues(alpha: 0.2),
borderRadius: BorderRadius.circular(12),
),
child: Center(
child: Obx(() {
int countImage = controller.capturedImages.length;

return IconButton(
iconSize: 60,
icon: Icon(Icons.camera_alt, color: Colors.grey.shade700),
onPressed:
(countImage >= data.maxImageCount)
? imageSnackbar
: () async {
final image = await Navigator.push(
context,
MaterialPageRoute(
builder: (_) => CameraOverlayScreen(),
),
);
if (image != null) {
controller.capturedImages.add(image);
}
},
);
}),
),
),
SizedBox(height: Get.height * 0.02),
Obx(
() => SizedBox(
height: Get.height * 0.1,
child: ListView.separated(
scrollDirection: Axis.horizontal,
itemCount: controller.capturedImages.length,
separatorBuilder: (_, __) => SizedBox(width: Get.width * 0.02),
itemBuilder: (context, index) {
return ClipRRect(
borderRadius: BorderRadius.circular(12),
child: Stack(
children: [
GestureDetector(
onTap: () {
showDialog(
context: context,
builder:
(_) => Dialog(
child: ClipRRect(
borderRadius: BorderRadius.circular(12),
child: Image.file(
controller.capturedImages[index],
fit: BoxFit.contain,
),
),
),
);
},
child: Image.file(
controller.capturedImages[index],
width: Get.width * 0.18,
fit: BoxFit.cover,
),
),
Positioned(
right: 0,
child: GestureDetector(
onTap: () => controller.removeImageAt(index),
child: Icon(
Icons.delete,
color: Colors.red,
size: 30,
),
),
),
],
),
);
},
),
),
),
],
),
);
}
}
Конечно, когда он в порядке в самом файле, почему он должен дать ошибку в отдельном файле?

Подробнее здесь: https://stackoverflow.com/questions/796 ... ist-widget
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»