[実現したいこと]
FlutterにてGetXを使用して下記の処理を実現したいです。
テキストボタン「ホメ/Praise」を押すたびにのボタン下部のスペースにコントローラー(Settings)内の配列(praise)にある文字列1つをランダムに表示。
1ヶ月程度色々試してみましたが自力では進められなくなったため質問させて頂きました。
ご教示いただけましたら幸いです。
[ボタンを押下した際のエラーメッセージ]
Another exception was thrown: Expected a value of type 'RxList<String>', but got one of type 'String'
[試したこと]
検索エンジン(DuckDucjGo, Google)での検索、コーディング
[補足情報]
OS:MacOS Monterey 12.2
Flutter:2.10.0
Dart:2.16.0
[コード]
Dart
1//Msterial App 2import 'package:flutter/material.dart'; 3//GetX 4import 'package:get/get.dart'; 5 6void main() => runApp(GetMaterialApp(home: AppHome())); 7 8class AppHome extends StatelessWidget { 9 final controller = Get.put(Praise()); 10 11 12 Widget build(BuildContext context) { 13 return Scaffold( 14 body: SingleChildScrollView( 15 child: Column( 16 children: <Widget>[ 17 Text(''), 18 TextButton( 19 onPressed: () => controller.select_praise(), 20 child: Text('ホメ/Praise'), 21 ), 22 Obx(() => Text('${controller.result1}')), 23 ], 24 ), 25 ) 26 ); 27 } 28} 29 30//Text('$result1') 31//Get.put select() 32 33class Praise extends GetxController { 34 //get result1 => [].obs; 35 36 var result1 = ''.obs; 37 38 // ignore: non_constant_identifier_names 39 select_praise() { 40 //1 現在非採用 41 //var number = Random().nextInt(48); 42 var result = []; 43 var praise = ([ 44 'A', 45 'B', 46 'C', 47 'D', 48 'E', 49 'F', 50 'G', 51 'H', 52 'I', 53 'J', 54 'K', 55 'L', 56 'M', 57 'N', 58 'O', 59 'P', 60 'Q', 61 'R', 62 'S', 63 'T', 64 'U', 65 'V', 66 'W', 67 'X', 68 'Y', 69 'Z', 70 'AA', 71 'AB', 72 'AC', 73 'AD', 74 'AE', 75 'AF', 76 'AG', 77 'AH', 78 'AI', 79 'AJ', 80 'AK', 81 'AL', 82 'AM', 83 'AN', 84 'AO', 85 'AP', 86 'AQ', 87 'AR', 88 'AS', 89 'AT', 90 'AU', 91 'AV' ]); 92 //1 現在非採用 93 //result1 = praise[number] as RxList<String>; 94 //2 現行処理 95 praise.shuffle(); 96 result = praise[0] as RxList<String>; 97 result.toString(); 98 result as RxString; 99 result1 = result as RxString; 100 return result1; 101 } 102}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/08 22:26