Dictionary 数据未在Text()小部件中呈现,我如何在我的Flatter应用程序中查看数据
我想在我的屏幕上查看粗体数据,请帮助我 我试过这种方法,但它不起作用Dictionary 数据未在Text()小部件中呈现,我如何在我的Flatter应用程序中查看数据,dictionary,listview,flutter,Dictionary,Listview,Flutter,我想在我的屏幕上查看粗体数据,请帮助我 我试过这种方法,但它不起作用 processed: { id: c459d2da5100afb1b4ab0352debfa4736aadd8c2e36529fe0861c9c8cadddeae, block_num: 51299894, block_time: 2019-09-24T11:40:11.500, producer_block_id: null, recei
processed: {
id: c459d2da5100afb1b4ab0352debfa4736aadd8c2e36529fe0861c9c8cadddeae,
block_num: 51299894,
block_time: 2019-09-24T11:40:11.500,
producer_block_id: null,
receipt: {
status: executed,
cpu_usage_us: 226,
net_usage_words: 13
},
elapsed: 226,
net_usage: 104,
scheduled: false,
action_traces: [
{
action_ordinal: 1,
creator_action_ordinal: 0,
closest_unnotified_ancestor_action_ordinal: 0,
receipt: {
receiver: guru11111111,
act_digest: 55e9b8f98bde721c3f3e53cf98a20814a5d426290b0bf55f842d97866bc71f6c,
global_sequence: 488304782,
recv_sequence: 329,
auth_sequence: [
[guru11111111, 399]
],
code_sequence: 25,
abi_sequence: 14
},
receiver: guru11111111,
act: {
account: guru11111111,
name: getborrower,
authorization: [
{
actor: guru11111111,
permission: active
}
],
data:
{
acc_name: guru
},
hex_data: 0000000000a0af66
},
context_free: false,
elapsed: 60,
console:
Borrower Name: guru
ID: 1
Location: varanasi
Phone Number: 8563070443,
Loan Amount:465200
}
进口“包装:颤振/材料.省道”;
导入“package:shared_preferences/shared_preferences.dart”;
导入“包:eosdart/eosdart.dart”作为eos;
SharedReferences SharedReferences;
getCredential()异步{
SharedReferences=等待SharedReferences.getInstance();
}
void main()=>runApp(get借款人());
类GetFrooder扩展StatefulWidget{
@凌驾
_GetFrooderState createState()=>\u GetFrooderState();
}
类_getFrowerState扩展状态{
eos.账户_账户;
eos.EOSClient _EOSClient=eos.EOSClient(
'http://jungle2.cryptolions.io:80","v1",,
私钥:[“5JFVW2PTRKACLBLETEVXCWAQUT8NNWVP2BYCRPRKPBWDGZDEO1]”);
Map fetch=newmap();
//列表获取;
作废(){
列表验证=[
eos.Authorization()
…演员='guru11111'
…权限='活动'
];
//
地图数据={
“acc_name”:“guru”,
};
列出操作=[
eos.行动()
..账户='guru11111'
..名称='Get借款人'
…授权=auth
…数据=数据
];
设置状态(){
eos.Transaction事务=eos.Transaction()…操作=操作;
_eosClient.pushTransaction(事务,广播:true)。然后((trx){
打印(trx);
fetch=trx;
});
打印(“hiiiii”);
});
//fetch=json.decode(trx).toString()作为映射;
//打印('Loaded${fetch.length}');
}
fetchdata(){
扩大回报(
弹性:4,
子项:新建ListView.builder(
itemCount:fetch.length,
itemBuilder:(构建上下文,int索引){
String key=fetch.keys.elementAt(索引);
返回列(
儿童:[
//文本(“$key”),
文本(“${fetch[key]}”),
],
);
}),
);
}
@凌驾
小部件构建(构建上下文){
返回材料PP(
家:脚手架(
背景颜色:Colors.teal,
正文:安全区(
子:列(
儿童:[
文本(“hi”),
扁平按钮(
颜色:颜色,白色,
child:Text('get-border'),
已按下:(){
_获取借款人();
},
),
灵活的(
子项:新建ListView.builder(
itemCount:fetch.length,
itemBuilder:(构建上下文,int索引){
String key=fetch.keys.elementAt(索引);
返回列(
儿童:[
//文本(“$key”),
文本(“${fetch[key]}”),
],
);
}),
),
],
),
),
),
);
}
我还能做什么或者我做错了什么请帮助
实际上,我的数据是通过获取的,但当我按下ctrl+s时,它没有得到渲染,我的小部件得到刷新,然后在屏幕上显示数据
如何改进此功能?我会将设置状态移动到
中,然后移动到您的未来
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:eosdart/eosdart.dart' as eos;
SharedPreferences sharedPreferences;
getCredential() async {
sharedPreferences = await SharedPreferences.getInstance();
}
void main() => runApp(GetBorrower());
class GetBorrower extends StatefulWidget {
@override
_GetBorrowerState createState() => _GetBorrowerState();
}
class _GetBorrowerState extends State<GetBorrower> {
eos.Account _account;
eos.EOSClient _eosClient = eos.EOSClient(
'http://jungle2.cryptolions.io:80', 'v1',
privateKeys: ["5JfVW2PtRkAcLbLETevxCwaQuT8NNWvP2eBYCrPRKPBWDgZDEo1"]);
Map fetch = new Map();
// List fetch;
void _fetchborrower() {
List<eos.Authorization> auth = [
eos.Authorization()
..actor = 'guru11111111'
..permission = 'active'
];
//
Map data = {
'acc_name': 'guru',
};
List<eos.Action> actions = [
eos.Action()
..account = 'guru11111111'
..name = 'getborrower'
..authorization = auth
..data = data
];
setState(() {
eos.Transaction transaction = eos.Transaction()..actions = actions;
_eosClient.pushTransaction(transaction, broadcast: true).then((trx) {
print(trx);
fetch = trx;
});
print('hiiiii');
});
// fetch = json.decode(trx).toString() as Map;
// print('Loaded ${fetch.length}');
}
fetchdata() {
return Expanded(
flex: 4,
child: new ListView.builder(
itemCount: fetch.length,
itemBuilder: (BuildContext context, int index) {
String key = fetch.keys.elementAt(index);
return Column(
children: <Widget>[
// Text('$key'),
Text('${fetch[key]}'),
],
);
}),
);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.teal,
body: SafeArea(
child: Column(
children: <Widget>[
Text('hi'),
FlatButton(
color: Colors.white,
child: Text('get borrower'),
onPressed: () {
_fetchborrower();
},
),
Flexible(
child: new ListView.builder(
itemCount: fetch.length,
itemBuilder: (BuildContext context, int index) {
String key = fetch.keys.elementAt(index);
return Column(
children: <Widget>[
// Text('$key'),
Text('${fetch[key]}'),
],
);
}),
),
],
),
),
),
);
}
如果您有任何建议,我们将不胜感激。请帮助我了解它的工作原理。但是您能告诉我为什么它在我的案例中不起作用,因为它已经在setState()中了在此之前,另一件事是我只想打印我的控制台中显示的粗体数据。你能帮我解决这个问题吗?我只需将控制台数据更改为串行数据,这样很容易查看。你不应该将未来放在设置状态中。如果这解决了你的问题,请标记为接受答案
processed: {
id: c459d2da5100afb1b4ab0352debfa4736aadd8c2e36529fe0861c9c8cadddeae,
block_num: 51299894,
block_time: 2019-09-24T11:40:11.500,
producer_block_id: null,
receipt: {
status: executed,
cpu_usage_us: 226,
net_usage_words: 13
},
elapsed: 226,
net_usage: 104,
scheduled: false,
action_traces: [
{
action_ordinal: 1,
creator_action_ordinal: 0,
closest_unnotified_ancestor_action_ordinal: 0,
receipt: {
receiver: guru11111111,
act_digest: 55e9b8f98bde721c3f3e53cf98a20814a5d426290b0bf55f842d97866bc71f6c,
global_sequence: 488304782,
recv_sequence: 329,
auth_sequence: [
[guru11111111, 399]
],
code_sequence: 25,
abi_sequence: 14
},
receiver: guru11111111,
act: {
account: guru11111111,
name: getborrower,
authorization: [
{
actor: guru11111111,
permission: active
}
],
data:
{
acc_name: guru
},
hex_data: 0000000000a0af66
},
context_free: false,
elapsed: 60,
console:
Borrower Name: guru
ID: 1
Location: varanasi
Phone Number: 8563070443,
Loan Amount:465200
}
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:eosdart/eosdart.dart' as eos;
SharedPreferences sharedPreferences;
getCredential() async {
sharedPreferences = await SharedPreferences.getInstance();
}
void main() => runApp(GetBorrower());
class GetBorrower extends StatefulWidget {
@override
_GetBorrowerState createState() => _GetBorrowerState();
}
class _GetBorrowerState extends State<GetBorrower> {
eos.Account _account;
eos.EOSClient _eosClient = eos.EOSClient(
'http://jungle2.cryptolions.io:80', 'v1',
privateKeys: ["5JfVW2PtRkAcLbLETevxCwaQuT8NNWvP2eBYCrPRKPBWDgZDEo1"]);
Map fetch = new Map();
// List fetch;
void _fetchborrower() {
List<eos.Authorization> auth = [
eos.Authorization()
..actor = 'guru11111111'
..permission = 'active'
];
//
Map data = {
'acc_name': 'guru',
};
List<eos.Action> actions = [
eos.Action()
..account = 'guru11111111'
..name = 'getborrower'
..authorization = auth
..data = data
];
setState(() {
eos.Transaction transaction = eos.Transaction()..actions = actions;
_eosClient.pushTransaction(transaction, broadcast: true).then((trx) {
print(trx);
fetch = trx;
});
print('hiiiii');
});
// fetch = json.decode(trx).toString() as Map;
// print('Loaded ${fetch.length}');
}
fetchdata() {
return Expanded(
flex: 4,
child: new ListView.builder(
itemCount: fetch.length,
itemBuilder: (BuildContext context, int index) {
String key = fetch.keys.elementAt(index);
return Column(
children: <Widget>[
// Text('$key'),
Text('${fetch[key]}'),
],
);
}),
);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.teal,
body: SafeArea(
child: Column(
children: <Widget>[
Text('hi'),
FlatButton(
color: Colors.white,
child: Text('get borrower'),
onPressed: () {
_fetchborrower();
},
),
Flexible(
child: new ListView.builder(
itemCount: fetch.length,
itemBuilder: (BuildContext context, int index) {
String key = fetch.keys.elementAt(index);
return Column(
children: <Widget>[
// Text('$key'),
Text('${fetch[key]}'),
],
);
}),
),
],
),
),
),
);
}
eos.Transaction transaction = eos.Transaction()..actions = actions;
_eosClient.pushTransaction(transaction, broadcast: true).then((trx) {
print(trx);
setState(() {
fetch = trx;
});
print('hiiiii');
});