質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

Q&A

1回答

1848閲覧

Flutterでフッターを作成した際に「'items.length >= 2': is not true.」になる

ryoya12

総合スコア0

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Dart

Dartは、Googleによって開発されたJavaScriptの代替となることを目的に作られた、ウェブ向けのプログラミング言語である。

0グッド

0クリップ

投稿2020/05/17 07:35

Flutter(Dart)のBottomNavigationBar Widgetでフッターを作成しています。
フッターを作った際に下記のようなエラーが出ましたが、解決できず大変困っています。

発生している問題・エラーメッセージ

'package:flutter/src/material/bottom_navigation_bar.dart': Failed assertion: line 191 pos 15: 'items.length >= 2': is not true.

該当のソースコード

import 'package:flutter/material.dart'; class Footer extends StatefulWidget{ const Footer(); @override _Footer createState() => _Footer(); } class _Footer extends State<Footer> { int _selectedIndex = 0; final _bottomNavigationBarItems = <BottomNavigationBarItem>[]; // アイコン情報 static const _footerIcons = [ Icons.home, Icons.textsms, Icons.access_time, Icons.content_paste, Icons.work, ]; // アイコン文字列 static const _footerItemNames = [ 'ホーム', 'トーク', 'タイムライン', 'ニュース', 'ウォレット', ]; @override void initState() { super.initState(); _bottomNavigationBarItems.add(_UpdateActiveState(0)); for ( var i = 1; i < _footerItemNames.length; i++) { _bottomNavigationBarItems.add(_UpdateDeactiveState(i)); } } /// インデックスのアイテムをアクティベートする BottomNavigationBarItem _UpdateActiveState(int index) { return BottomNavigationBarItem( icon: Icon( _footerIcons[index], color: Colors.black87, ), title: Text( _footerItemNames[index], style: TextStyle( color: Colors.black87, ), ) ); } /// インデックスのアイテムをディアクティベートする BottomNavigationBarItem _UpdateDeactiveState(int index) { return BottomNavigationBarItem( icon: Icon( _footerIcons[index], color: Colors.black26, ), title: Text( _footerItemNames[index], style: TextStyle( color: Colors.black26, ), ) ); } void _onItemTapped(int index) { setState(() { _bottomNavigationBarItems[_selectedIndex] = _UpdateDeactiveState(_selectedIndex); _bottomNavigationBarItems[index] = _UpdateActiveState(index); _selectedIndex = index; }); } @override Widget build(BuildContext context) { return BottomNavigationBar( type: BottomNavigationBarType.fixed, // これを書かないと3つまでしか表示されない items: _bottomNavigationBarItems, currentIndex: _selectedIndex, onTap: _onItemTapped, ); } }

補足情報

Flutter 1.17.1
Tools • Dart 2.8.2

下記のサイトを模写しました。
https://apps-gcp.com/introduction-of-flutter-about-header-and-footer/#BottomNavigationBar_Widget

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

satokei

2020/05/18 04:40

再現しないですね。
guest

回答1

0

特に解決になってませんが、無視して次のところに進むとできました
https://apps-gcp.com/flutter-body/

投稿2020/07/26 04:10

yuki_kamikita

総合スコア3

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問