変数を更新して別のステートフルウィジェットで使用するにはどうすればよいですか?

ssonmo

私がやろうとしているのは、リストタイルをタップすると、地図上のその場所(緯度と経度に基づく)に新しいマーカーが生成されることです。

ただし、変数は更新されず、初期値0のみが表示されます。0を削除してホットリロードを開始すると、nullとして出力されます。

class UpdatedStoresListState extends State<UpdatedStoresList> {

  double updatedLat = 0;
  double updatedLon = 0;

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

ListTileウィジェットをタップすると、新しい緯度と経度が生成されます。

class UpdatedStoresListState extends State<UpdatedStoresList> {
...

children: <Widget>[
  GestureDetector(
    onTap: () {
      setState(() {
        updatedLat = snapshot.data[index].latitude;
        updatedLon = snapshot.data[index].longitude;
        print('Lat: $updatedLat');
        // 52.902...
        print('Lon: $updatedLon');
        // -129.9031...
      });
    },
    child: ListTile(

'Marker'ウィジェットに新しい値を使用する必要があります。これは、別の.dartファイルの別のstatefulwidgetにあります。

class _MainMapState extends State<MainMap> {
...

Marker(
  width: 40.0,
  height: 40.0,
  point: LatLng(UpdatedStoresListState().updatedLat, UpdatedStoresListState().updatedLon),
  builder: (ctx) => Container(
    child: FlutterLogo(),
  ),
)

私はあなたが提供できるどんな助けにも本当に感謝します

カルペシュ・クンダナニ

BLoCを使用してこれを行うことに興味がある場合は、次のようにします。ファイルlat_long_bloc.dartを作成し、そのファイルに次のようにBLoCを作成します。

class LatLongBloc {
   StreamController _latLongStreamController = StreamController<LatLong>();

   Stream get latLongStream => _latLongStreamController.stream;

   dispose(){
     _latLongStreamController.close();
   }

   updateLatLong(LatLng latLong){
     _latLongStreamController.sink.add(latLong);
   }
}

final latLongBloc = LatLongBloc();

そして、GestureDetectureで、コードを次のように変更します。

GestureDetector(
    onTap: () {
      updatedLat = snapshot.data[index].latitude;
      updatedLon = snapshot.data[index].longitude;
      latLongBloc.updateLatLong(LatLng(updatedLat , updatedLon ));
    },
    child: ListTile(

そして、MarkerをStreamBuilderでラップします。

StreamBuilder(
        stream: latLongBloc.latLongStream,
        builder: (context, snapshot) {
          LatLng latLog = snapshot.data;
          return Marker(
            width: 40.0,
            height: 40.0,
            point: LatLng(latLog.lat, latLog.long),
            builder: (ctx) => Container(
              child: FlutterLogo(),
            ),
          );
        },
      )

つまり、BLoCのupdateLatLong()を呼び出すたびに、マーカーウィジェットが更新されます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

別のステートフルウィジェットで管理されているBLoCパターンを使用して呼び出された要素のリストを更新するにはどうすればよいですか?

分類Dev

Flutterブロックを使用して、ユーザーが入力したときにその値を別のウィジェットに更新するテキストフィールドを作成するにはどうすればよいですか?

分類Dev

テキストウィジェットを使用して複数行のテキストを設定するにはどうすればよいですか?

分類Dev

ウィジェットが文字列IDを使用して参照されるときに、ステートフルウィジェットに引数を渡すにはどうすればよいですか?

分類Dev

moose属性であるPerl / Tkウィジェットのテキスト変数を更新するにはどうすればよいですか?

分類Dev

Android:ConstraintLayoutを使用してウィジェットを別のウィジェットの上に表示するにはどうすればよいですか?

分類Dev

Flutter and Firestore:ステートフルウィジェットから変数にアクセスして新しいドキュメントを作成するにはどうすればよいですか?

分類Dev

tkinterスライダーの `Scale`ウィジェットを個別のステップで使用するにはどうすればよいですか?

分類Dev

PyQtのスタイルシートを使用してウィジェットを前面に表示するにはどうすればよいですか?

分類Dev

sitefinityのカスタムウィジェットに長いテキストフィールドを追加するにはどうすればよいですか?

分類Dev

Flutterで、ストリームAPIを使用してアイテムのリストをテーブルウィジェットに変換するにはどうすればよいですか?

分類Dev

ある関数でウィジェットを作成した場合、Python Tkinterを使用して別の関数でウィジェットにアクセスするにはどうすればよいですか?

分類Dev

forループ内のラベルウィジェットのテキストを更新するにはどうすればよいですか?

分類Dev

Flutterの下部ナビゲーションバーを使用したナビゲーションでステートフルウィジェットをトリガーして、それ自体を再構築するにはどうすればよいですか?

分類Dev

プロバイダーを使用して、画面上のすべてのウィジェットではなく、1つのウィジェットにテキストを同時にナビゲートするにはどうすればよいですか?

分類Dev

別のスレッドからの特定の値に従ってウィジェットを更新するにはどうすればよいですか?

分類Dev

CupertinoAppをローカリゼーションウィジェットでラップして、その中でマテリアルウィジェットを使用できるようにするにはどうすればよいですか?

分類Dev

テーマウィジェットを使用してフォント設定を使用するにはどうすればよいですか?

分類Dev

pyqt4を使用してウィジェットのコンテンツを更新するにはどうすればよいですか?

分類Dev

jqを使用して、オブジェクトのJSONストリームをオブジェクトプロパティの値に基づいて個別のファイルに分割するにはどうすればよいですか?

分類Dev

テキストウィジェットにパディングを使用して、線のようなテーマ別の区切りを追加するにはどうすればよいですか?

分類Dev

QDateEditウィジェットで設定されたユーザー値を別の関数で使用するにはどうすればよいですか?

分類Dev

子が別のファイル内の別のクラスである親ウィジェットから1つの子ウィジェットの状態を変更するにはどうすればよいですか?

分類Dev

gitlab ciを使用して、Java Mavenプロジェクトを複数のjdksプラットフォームでビルドおよび実行できるかどうかをテストするにはどうすればよいですか?

分類Dev

別のウィジェットのアクションに基づいてウィジェットのUIを更新したり、状態を変更したりするにはどうすればよいですか?

分類Dev

テキストエディタでPyQtのフォントウィジェットを使用するにはどうすればよいですか?

分類Dev

ルートウィジェットにメソッドを設定して、子ウィジェットのプロパティを変更するにはどうすればよいですか?

分類Dev

Qtを使用してテーブルウィジェットを作成するにはどうすればよいですか?

分類Dev

このテキストウィジェットがフォーカスを失っている間にテキストウィジェットのコンテンツを検証するにはどうすればよいですか?

Related 関連記事

  1. 1

    別のステートフルウィジェットで管理されているBLoCパターンを使用して呼び出された要素のリストを更新するにはどうすればよいですか?

  2. 2

    Flutterブロックを使用して、ユーザーが入力したときにその値を別のウィジェットに更新するテキストフィールドを作成するにはどうすればよいですか?

  3. 3

    テキストウィジェットを使用して複数行のテキストを設定するにはどうすればよいですか?

  4. 4

    ウィジェットが文字列IDを使用して参照されるときに、ステートフルウィジェットに引数を渡すにはどうすればよいですか?

  5. 5

    moose属性であるPerl / Tkウィジェットのテキスト変数を更新するにはどうすればよいですか?

  6. 6

    Android:ConstraintLayoutを使用してウィジェットを別のウィジェットの上に表示するにはどうすればよいですか?

  7. 7

    Flutter and Firestore:ステートフルウィジェットから変数にアクセスして新しいドキュメントを作成するにはどうすればよいですか?

  8. 8

    tkinterスライダーの `Scale`ウィジェットを個別のステップで使用するにはどうすればよいですか?

  9. 9

    PyQtのスタイルシートを使用してウィジェットを前面に表示するにはどうすればよいですか?

  10. 10

    sitefinityのカスタムウィジェットに長いテキストフィールドを追加するにはどうすればよいですか?

  11. 11

    Flutterで、ストリームAPIを使用してアイテムのリストをテーブルウィジェットに変換するにはどうすればよいですか?

  12. 12

    ある関数でウィジェットを作成した場合、Python Tkinterを使用して別の関数でウィジェットにアクセスするにはどうすればよいですか?

  13. 13

    forループ内のラベルウィジェットのテキストを更新するにはどうすればよいですか?

  14. 14

    Flutterの下部ナビゲーションバーを使用したナビゲーションでステートフルウィジェットをトリガーして、それ自体を再構築するにはどうすればよいですか?

  15. 15

    プロバイダーを使用して、画面上のすべてのウィジェットではなく、1つのウィジェットにテキストを同時にナビゲートするにはどうすればよいですか?

  16. 16

    別のスレッドからの特定の値に従ってウィジェットを更新するにはどうすればよいですか?

  17. 17

    CupertinoAppをローカリゼーションウィジェットでラップして、その中でマテリアルウィジェットを使用できるようにするにはどうすればよいですか?

  18. 18

    テーマウィジェットを使用してフォント設定を使用するにはどうすればよいですか?

  19. 19

    pyqt4を使用してウィジェットのコンテンツを更新するにはどうすればよいですか?

  20. 20

    jqを使用して、オブジェクトのJSONストリームをオブジェクトプロパティの値に基づいて個別のファイルに分割するにはどうすればよいですか?

  21. 21

    テキストウィジェットにパディングを使用して、線のようなテーマ別の区切りを追加するにはどうすればよいですか?

  22. 22

    QDateEditウィジェットで設定されたユーザー値を別の関数で使用するにはどうすればよいですか?

  23. 23

    子が別のファイル内の別のクラスである親ウィジェットから1つの子ウィジェットの状態を変更するにはどうすればよいですか?

  24. 24

    gitlab ciを使用して、Java Mavenプロジェクトを複数のjdksプラットフォームでビルドおよび実行できるかどうかをテストするにはどうすればよいですか?

  25. 25

    別のウィジェットのアクションに基づいてウィジェットのUIを更新したり、状態を変更したりするにはどうすればよいですか?

  26. 26

    テキストエディタでPyQtのフォントウィジェットを使用するにはどうすればよいですか?

  27. 27

    ルートウィジェットにメソッドを設定して、子ウィジェットのプロパティを変更するにはどうすればよいですか?

  28. 28

    Qtを使用してテーブルウィジェットを作成するにはどうすればよいですか?

  29. 29

    このテキストウィジェットがフォーカスを失っている間にテキストウィジェットのコンテンツを検証するにはどうすればよいですか?

ホットタグ

アーカイブ