小编Rob*_*ert的帖子

API调用后有状态小部件上的定时问题

我遇到了计时问题,我从api获取数据,然后从JSON创建一个列表.我想在结果列表视图中使用结果列表的长度作为项目计数.但是它会在itemcount上抛出null错误,然后完成处理并显示listview.我试图找到时间问题的位置以及如何处理项目和小部件,以便我可以避免错误.如果有人有任何想法我的代码存在缺陷,我的代码如下.

class Specialty extends StatefulWidget {
  Specialty({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _SpecialtyState createState() => new _SpecialtyState();
}

class _SpecialtyState extends State<Specialty> {

  bool _dataReceived = false;
  bool _authenticated = false;
  SharedPreferences prefs;
  List mylist;


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

    _getPrefs();
    _getSpecialty();
  }


  _getPrefs() async {
    prefs = await SharedPreferences.getInstance();
    _authenticated = prefs.getBool('authenticated');
    print('AUTH2: ' + _authenticated.toString());
    print('AUTHCODE2: ' + prefs.getString('authcode'));

  }

  _getSpecialty() async {
    var _url = 'http://$baseurl:8080/support/specialty';

    var http = createHttpClient();
    var response = …
Run Code Online (Sandbox Code Playgroud)

dart flutter

4
推荐指数
1
解决办法
1414
查看次数

颤动滚动到动态ListView的底部

我查看并找到了几种解决方案,但似乎都不适合我的配置,需要一些帮助。我将所有代码放在这里,看看是否有人知道在哪里应用ScrollController。我已经尝试了原始ListView,但是我从futureResponse在ListView构建器中动态构建了其他项。

import 'dart:async';
import 'dart:io';
import 'dart:typed_data';


import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:intl/intl.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:cswauthapp/models.dart';
import 'package:cswauthapp/ChatConvoDetail.dart';
import 'package:cswauthapp/Settings.dart' as Admin;
import 'package:cswauthapp/HomePage.dart' as HomePage;
import 'package:cswauthapp/main.dart' as MyHomePage;
import 'package:cswauthapp/PostAuthHome.dart' as PostAuthHome;
import 'package:image_picker/image_picker.dart';
import 'package:cswauthapp/ShowPic.dart';
import 'package:path/path.dart' as path;
import 'package:video_player/video_player.dart';
import 'package:cswauthapp/vplayer.dart' as vplayer;

class ChatDivided extends StatefulWidget {
  ChatDivided({Key key, this.title, this.mychat}) : super(key: key);

  static const String routeName = "/ChatDivided";

  final ChatList mychat;
  final String title;

  @override …
Run Code Online (Sandbox Code Playgroud)

flutter

4
推荐指数
3
解决办法
6156
查看次数

扑安卓指纹集成

在平台通道上使用Flutter与Android指纹认证集成时,我正在寻找一些指导。我有android部分正在工作,而flutter应用程序具有调用方法,但我似乎无法像我在swift中那样仅获得指纹身份验证的弹出窗口,在同一flutter应用程序中它可以正常工作,以便于将结果传递给flutter应用程序,然后继续运行flutter应用程序。如果有人有任何示例或指导,将不胜感激。

android fingerprint flutter

3
推荐指数
1
解决办法
2610
查看次数

在其他页面上颤抖地更改主应用栏标题

寻找有关title在后续页面上更改AppBar的帮助,所以我是制表符,而有些则不是。 MyApp在我的应用程序的身份验证页面上定义。然后我转到保存的标签一个新的页面,然后我还有其他的网页了一些标签页中,我希望能够做的是,而不是把另一AppBar下的主要原因之一,我只是想改变titleAppBar我在其他任何页面上时都处于主要状态。

关于如何执行此操作的任何想法,我看到一个不合适的示例,因为我的选项卡设置不同并且无法使其合适,我想也许有一种最初定义标题的方法,以便我可以更改状态或其他内容并更改标题。

有任何想法或想法吗?

dart flutter

3
推荐指数
1
解决办法
5030
查看次数

Flutter 在我的列表视图中刷新数据

更新 这是 StreamBuilder 代码:我当前正在尝试使用运行 Stream.fromFuture 的计时器进行更新,该计时器更新数据,但闪烁和滚动很奇怪。

new StreamBuilder(
                initialData: myInitialData,
                stream: msgstream,
                builder: (BuildContext context, AsyncSnapshot<List<Map>> snapshot) {
                  switch (snapshot.connectionState) {
                    case ConnectionState.none:
                      return new Text('Waiting to start');
                    case ConnectionState.waiting:
                      return new Text('');
                    default:
                      if (snapshot.hasError) {
                        return new Text('Error: ${snapshot.error}');
                      } else {
                        myInitialData = snapshot.data;
                        return new RefreshIndicator(
                            child: new ListView.builder(
                              itemBuilder: (context, index) {
                                Stream<List<Map>> msgstream2;
                                Future<List<Map>> _responseDate = ChatDB.instance.getMessagesByDate(snapshot.data[index]['msgkey'], snapshot.data[index]['msgdate']);
                                msgstream2 = new Stream.fromFuture(_responseDate);
                                return new StreamBuilder(
                                  initialData: myInitialData2,
                                  stream: msgstream2,
                                  builder: (BuildContext context, AsyncSnapshot<List<Map>> snapshot) …
Run Code Online (Sandbox Code Playgroud)

dart flutter

3
推荐指数
1
解决办法
4250
查看次数

在渲染图像下方展开可滚动列表

我有一个可点击图像的Livtview,当点击一个图像时,它呈现另一个页面,原始图像上方有一个文本,我试图在图像之后添加一个列表视图,也可以作为第一个列表滚动,但没有顶部图像移动或此时任何一种方式都可以.我尝试在第一页上构建列表视图并且它一直给出一个视口错误,所以我将shrinkwrap添加到listview中,现在我在屏幕底部出现了一个红色条,它不会滚动到可查看的内容上屏幕.

以下是第二个listview所在的一些代码.

@override
  Widget build(BuildContext context) {
    var _children = <Widget>[
      new Center(
        child: new Text(widget.spec.name,
          style: new TextStyle(fontSize: 30.0, fontWeight: FontWeight.bold),
        ),
      ),
      new Center(
          child: new Container(
            padding: new EdgeInsets.only(
                left: 10.0, right: 10.0, top: 20.0, bottom: 10.0),
            child: new Image.asset(widget.spec.pic.assetName),
          )
      ),

      new Center(
        child: new Container(
          padding: new EdgeInsets.only(
              left: 10.0, right: 10.0, top: 20.0, bottom: 10.0),
          child: new Text('Facilities for Specialty',
            style: new TextStyle(fontSize: 30.0),
            textAlign: TextAlign.center,
          ),
        ),
      ),

      new RefreshIndicator(
        child: new ListView.builder( …
Run Code Online (Sandbox Code Playgroud)

dart flutter

2
推荐指数
1
解决办法
4540
查看次数

Flutter 使用 JSON 填充下拉菜单

我正在尝试获取从 rest api 返回的 JSON 并填充下拉菜单,我需要具有与子值不同的值。有没有人做过这个或有一个例子或建议。我使用的是基本示例,似乎找不到使用 JSON 而不是静态列表的方法。以下是我尝试过的,但仍然没有找到价值。我不断收到飞镖空错误。任何帮助都会很棒。我已经更新了我如何获取 JSON 和解码。我已经尝试了几件事。这也是错误,但我在调试中确认该值永远不会为空,因此它必须与 JSON 相关。我尝试过使用静态列表,并且可以正常工作。

'package:flutter/src/material/dropdown.dart': Failed assertion: line 433 pos 15: 'value == null

String _referPractice = '<New>';
Run Code Online (Sandbox Code Playgroud)

JSON 看起来像这样:

[{"id":0,"name":"<New>"},{"id":1,"name":"Test Practice"}]


var http = createHttpClient();
var response = await http.get(_url);
var practices = await jsonCodec.decode(response.body);
practicelist = await practices.toList();

new DropdownButton<String>(
        value: _referPractice,
        isDense: true,
        onChanged: (String newValue) {
          setState(() {
            _referPractice = newValue;
          });
        },
        items: practicelist.map((value) {
          return new DropdownMenuItem<String>(
            value: value['id'].toString(),
            child: new Text(value['name']),
          );
        }).toList(),
      ),
Run Code Online (Sandbox Code Playgroud)

flutter

2
推荐指数
1
解决办法
1万
查看次数

用于日期的颤动输入格式化程序

我正在寻找一个用于文本字段的 inputformatter 示例,它将是日期 mm/dd/yyyy,当用户键入更新格式时,我正在尝试执行的操作。例如用户开始输入mm并输入/,然后当输入dd时输入/。

有没有人做过这个或者有一个例子?我已经用其他语言完成了,但在 flutter/dart 中找不到类似的方法。

这是我迄今为止尝试过的,但无法使逻辑正确。有任何想法吗?

    class _DateFormatter extends TextInputFormatter {
  @override
  TextEditingValue formatEditUpdate(
      TextEditingValue oldValue,
      TextEditingValue newValue
      ) {
    final int newTextLength = newValue.text.length;
    int selectionIndex = newValue.selection.end;
    int usedSubstringIndex = 0;
    final StringBuffer newText = new StringBuffer();
    if (newTextLength == 2) {
      newText.write(newValue.text.substring(0, 2) + '/ ');
      if (newValue.selection.end == 3)
        selectionIndex+=3;
    }
    if (newTextLength == 5) {
      newText.write(newValue.text.substring(0, 5) + '/ ');
      if (newValue.selection.end == 6)
        selectionIndex += 6;
    }
    // Dump the rest.
    if …
Run Code Online (Sandbox Code Playgroud)

flutter

2
推荐指数
3
解决办法
4724
查看次数

Flutter Listview of items 作为分隔符与 Listview of items 大小问题

我有一个工作页面,它是使用 Listview.builder 的动态消息列表视图。itembuilder 调用创建卡片的小部件。我想要做的是将第一个列表更改为一个分隔符,它将是一个日期,然后将在该日期之前调用一个项目列表。正在创建所有数据调用和列表,但不断获取 hasSize 不是真正的错误,并且看不到大小有问题的地方,我只是使用了正在工作的相同布局。

不确定要显示哪些代码以获得一些帮助,所以如果您有想法以及可能需要查看哪些代码,请告诉我。

这是在更改之前有效的开始:

var _children = <Widget>[

  new Expanded(
    child: new RefreshIndicator(
      child: new ListView.builder(
        itemBuilder: _divBuilder,
        itemCount: listcount,
      ),
      onRefresh: _onRefresh,
    ),
  ),
  new Stack(
    alignment: Alignment.centerRight,
    children: <Widget>[
      new TextField(
        decoration: const InputDecoration(
          hintText: 'Chat Reply',
          labelText: 'Chat Reply:',
        ),
        autofocus: false,
        focusNode: _focusnode,
        maxLines: 2,
        controller: _newreplycontroller,
        keyboardType: TextInputType.url,
      ),
      new IconButton(
        icon: new Icon(Icons.send),
        onPressed: _sendReply,
        alignment: Alignment.centerRight,
      )
    ],
  ),
];
return new Scaffold(
  appBar: new AppBar(
    title: mytitle,
    actions: …
Run Code Online (Sandbox Code Playgroud)

flutter

1
推荐指数
1
解决办法
8376
查看次数

颤抖如何使圆形进度指示器正常工作

更新 我已更改为使用小部件,并在下面将所有有状态小部件的代码。

有很多代码,我更改为使用带有Widget loadingIndicator的堆栈,但是仍然无法调用它。我的堆栈围绕着将来的响应,指示器位于底部,然后我通过单击按钮使用onPress来调用更改状态的方法,然后调用另一个进程来运行。指示器仍然没有任何反应。

class ChatServerDivided extends StatefulWidget {
  ChatServerDivided({Key key, this.title, this.mychat}) : super(key: key);

  static const String routeName = "/ChatServerDivided";

  final ChatServerList mychat;
  final String title;

  @override
  _ChatServerDividedState createState() => new _ChatServerDividedState();
}

class _ChatServerDividedState extends State<ChatServerDivided> {
  SharedPreferences prefs;
  int oid = 0;
  int pid = 0;
  int authlevel = 0;
  bool admin = false;
  int type = 0;
  String msgid = '';
  List chatlist;
  int listcount = 0;
  bool grpmsg = true;
  String sender = ''; …
Run Code Online (Sandbox Code Playgroud)

dart flutter

1
推荐指数
2
解决办法
2万
查看次数

标签 统计

flutter ×10

dart ×5

android ×1

fingerprint ×1