Flutter 'Future <void>'는 'Widget'유형의 하위 유형이 아닙니다.

Matteo

MultiImagePicker로 이미지를 선택해야하므로 선택한 자산을 기다리는이 기능이 있지만 버튼을 클릭하면이 기능이 호출됩니다. 버튼을 클릭하지 않고 페이지에 들어가면 사진을 선택하고 싶은데, 가능합니까?

List<Asset> images = List<Asset>();
Future<void> loadAssets() async {
List<Asset> resultList = List<Asset>();
String error = '';
try {
  resultList = await MultiImagePicker.pickImages(
    maxImages: 300,
    enableCamera: false,
    selectedAssets: images,
  );
} on Exception catch (e) {
  error = e.toString();
}
if (!mounted) return;

setState(() {
  images = resultList;
});
}

@override
Widget build(BuildContext context) {
if(images.length == 0){
return MaterialApp(
        home: Scaffold(
          appBar: AppBar(
              centerTitle: true,
              title: Text('Picker Example'),
              backgroundColor: Colors.blueAccent
          ),
          body:Container(
            child: images.length > 0 ? Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                RaisedButton(
                  child: Text("Select photo"),
                  onPressed: () => loadAssets(),
                ),
                RaisedButton(
                  child: Text("Remove photo"),
                  onPressed: removeAssets,
                ),
                RaisedButton(
                  child: Text("upload photo"),
                  onPressed: upload,
                ),
                Expanded(
                  child: buildGridView(),
                )
              ],
            ) :loadAssets();
       )
);

이것이 가능한가 ?

Shri 하리

전화 loadAssets()에서 initState()작동합니다. 선택 후 이미지가 images목록에 저장됩니다 . 그런 다음 원하는 것을하십시오.

문서 에서 가져온 예 ,

import 'package:flutter/material.dart';
import 'dart:async';

import 'package:multi_image_picker/multi_image_picker.dart';

void main() => runApp(new MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => new _MyAppState();
}

class _MyAppState extends State<MyApp> {
  List<Asset> images = List<Asset>();
  String _error = 'No Error Dectected';

  @override
  void initState() {
    super.initState();
    loadAssets();
  }

  Widget buildGridView() {
    return GridView.count(
      crossAxisCount: 3,
      children: List.generate(images.length, (index) {
        Asset asset = images[index];
        return AssetThumb(
          asset: asset,
          width: 300,
          height: 300,
        );
      }),
    );
  }

  Future<void> loadAssets() async {
    List<Asset> resultList = List<Asset>();
    String error = 'No Error Dectected';

    try {
      resultList = await MultiImagePicker.pickImages(
        maxImages: 300,
        enableCamera: true,
        selectedAssets: images,
        cupertinoOptions: CupertinoOptions(takePhotoIcon: "chat"),
        materialOptions: MaterialOptions(
          actionBarColor: "#abcdef",
          actionBarTitle: "Example App",
          allViewTitle: "All Photos",
          useDetailsView: false,
          selectCircleStrokeColor: "#000000",
        ),
      );
    } on Exception catch (e) {
      error = e.toString();
    }

    // If the widget was removed from the tree while the asynchronous platform
    // message was in flight, we want to discard the reply rather than calling
    // setState to update our non-existent appearance.
    if (!mounted) return;

    setState(() {
      images = resultList;
      _error = error;
    });
  }

  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: new Scaffold(
        appBar: new AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Column(
          children: <Widget>[
            Center(child: Text('Error: $_error')),
            Expanded(
              child: images.length > 0 ? buildGridView() : Center(child: Text("No Images")),
            )
          ],
        ),
      ),
    );
  }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Flutter : 'List <Widget>'유형은 'Widget'유형의 하위 유형이 아닙니다.

분류에서Dev

'Future <Uint8List>'유형은 'Widget'유형의 하위 유형이 아닙니다.

분류에서Dev

'List <dynamic>'유형은 'val'flutter의 'List <Widget>'유형의 하위 유형이 아닙니다.

분류에서Dev

Flutter 오류 : '(String, ItemPriority) => void'유형은 '(String, [ItemPriority]) => dynamic'유형의 하위 유형이 아닙니다.

분류에서Dev

'List <dynamic>'유형은 'List <Widget>'유형의 하위 유형이 아닙니다. flutter carousel

분류에서Dev

'Timestamp'는 'int'유형의 하위 유형이 아닙니다.-Flutter-Firebase Firestore

분류에서Dev

'List <Widget>'유형은 'Widget'유형의 하위 유형이 아닙니다.

분류에서Dev

'Future <Null>'유형은 '위젯'유형의 하위 유형이 아닙니다.

분류에서Dev

'Future <File>'유형은 'File'유형의 하위 유형이 아닙니다.

분류에서Dev

Flutter String, dynamic '은 유형의 하위 유형이 아닙니다.

분류에서Dev

Provider가있는 FutureBuilder : List는 Future <List> 유형의 하위 유형이 아닙니다.

분류에서Dev

'List <dynamic>'유형은 'Widget'유형의 하위 유형이 아닙니다.

분류에서Dev

'_Type'유형은 'Widget?'유형의 하위 유형이 아닙니다.

분류에서Dev

이 스 니펫이 " 'Future <dynamic>'유형은 문자열 유형의 하위 유형이 아닙니다"를 제공하는 이유는 무엇입니까?

분류에서Dev

Flutter 및 Firebase : 'Query'유형은 'CollectionReference'유형의 하위 유형이 아닙니다.

분류에서Dev

Flutter : 'bool'유형은 'double'유형의 하위 유형이 아닙니다.

분류에서Dev

Flutter Real Time Database Account '는'transform '의'(dynamic, dynamic) => MapEntry <dynamic, dynamic> '유형의 하위 유형이 아닙니다.

분류에서Dev

Flutter-[barcode_scan] ScanResult는 문자열 유형의 하위 유형이 아닙니다.

분류에서Dev

처리되지 않은 예외 : 'Future <dynamic>'유형은 'Future <alertDialogAction>'유형의 하위 유형이 아닙니다.

분류에서Dev

오류 : flutter에서 fromjson을 사용하는 동안 '문자열'유형이 '인덱스'의 'int'유형의 하위 유형이 아닙니다.

분류에서Dev

List <dynamic> '은 flutter에서'FutureOr <List <>> 유형의 하위 유형이 아닙니다.

분류에서Dev

Flutter 드롭 다운 : '문자열'유형은 '인덱스'의 'int'유형의 하위 유형이 아닙니다.

분류에서Dev

Dart 오류 : 'List <dynamic>'유형은 Firestore가있는 Flutter에서 'Map <String, dynamic>'유형의 하위 유형이 아닙니다.

분류에서Dev

Flutter 오류 : '_InternalLinkedHashMap <String, dynamic>'유형은 'String'유형의 하위 유형이 아닙니다.

분류에서Dev

Flutter- 'List <dynamic>'유형은 'List <File>'유형의 하위 유형이 아닙니다.

분류에서Dev

Flutter _TypeError ( 'List <dynamic>'유형은 'Map <String, dynamic>'유형의 하위 유형이 아닙니다.)

분류에서Dev

int 유형은 문자열 유형의 하위 유형이 아닙니다. Flutter Firebase

분류에서Dev

'List <dynamic>'유형은 'Map <String, dynamic in flutter app'유형의 하위 유형이 아닙니다.

분류에서Dev

Flutter : 처리되지 않은 예외 : 'List <dynamic>'유형은 'List <String>'유형의 하위 유형이 아닙니다.

Related 관련 기사

  1. 1

    Flutter : 'List <Widget>'유형은 'Widget'유형의 하위 유형이 아닙니다.

  2. 2

    'Future <Uint8List>'유형은 'Widget'유형의 하위 유형이 아닙니다.

  3. 3

    'List <dynamic>'유형은 'val'flutter의 'List <Widget>'유형의 하위 유형이 아닙니다.

  4. 4

    Flutter 오류 : '(String, ItemPriority) => void'유형은 '(String, [ItemPriority]) => dynamic'유형의 하위 유형이 아닙니다.

  5. 5

    'List <dynamic>'유형은 'List <Widget>'유형의 하위 유형이 아닙니다. flutter carousel

  6. 6

    'Timestamp'는 'int'유형의 하위 유형이 아닙니다.-Flutter-Firebase Firestore

  7. 7

    'List <Widget>'유형은 'Widget'유형의 하위 유형이 아닙니다.

  8. 8

    'Future <Null>'유형은 '위젯'유형의 하위 유형이 아닙니다.

  9. 9

    'Future <File>'유형은 'File'유형의 하위 유형이 아닙니다.

  10. 10

    Flutter String, dynamic '은 유형의 하위 유형이 아닙니다.

  11. 11

    Provider가있는 FutureBuilder : List는 Future <List> 유형의 하위 유형이 아닙니다.

  12. 12

    'List <dynamic>'유형은 'Widget'유형의 하위 유형이 아닙니다.

  13. 13

    '_Type'유형은 'Widget?'유형의 하위 유형이 아닙니다.

  14. 14

    이 스 니펫이 " 'Future <dynamic>'유형은 문자열 유형의 하위 유형이 아닙니다"를 제공하는 이유는 무엇입니까?

  15. 15

    Flutter 및 Firebase : 'Query'유형은 'CollectionReference'유형의 하위 유형이 아닙니다.

  16. 16

    Flutter : 'bool'유형은 'double'유형의 하위 유형이 아닙니다.

  17. 17

    Flutter Real Time Database Account '는'transform '의'(dynamic, dynamic) => MapEntry <dynamic, dynamic> '유형의 하위 유형이 아닙니다.

  18. 18

    Flutter-[barcode_scan] ScanResult는 문자열 유형의 하위 유형이 아닙니다.

  19. 19

    처리되지 않은 예외 : 'Future <dynamic>'유형은 'Future <alertDialogAction>'유형의 하위 유형이 아닙니다.

  20. 20

    오류 : flutter에서 fromjson을 사용하는 동안 '문자열'유형이 '인덱스'의 'int'유형의 하위 유형이 아닙니다.

  21. 21

    List <dynamic> '은 flutter에서'FutureOr <List <>> 유형의 하위 유형이 아닙니다.

  22. 22

    Flutter 드롭 다운 : '문자열'유형은 '인덱스'의 'int'유형의 하위 유형이 아닙니다.

  23. 23

    Dart 오류 : 'List <dynamic>'유형은 Firestore가있는 Flutter에서 'Map <String, dynamic>'유형의 하위 유형이 아닙니다.

  24. 24

    Flutter 오류 : '_InternalLinkedHashMap <String, dynamic>'유형은 'String'유형의 하위 유형이 아닙니다.

  25. 25

    Flutter- 'List <dynamic>'유형은 'List <File>'유형의 하위 유형이 아닙니다.

  26. 26

    Flutter _TypeError ( 'List <dynamic>'유형은 'Map <String, dynamic>'유형의 하위 유형이 아닙니다.)

  27. 27

    int 유형은 문자열 유형의 하위 유형이 아닙니다. Flutter Firebase

  28. 28

    'List <dynamic>'유형은 'Map <String, dynamic in flutter app'유형의 하위 유형이 아닙니다.

  29. 29

    Flutter : 처리되지 않은 예외 : 'List <dynamic>'유형은 'List <String>'유형의 하위 유형이 아닙니다.

뜨겁다태그

보관