I am getting an error in the code below 'Too many positional arguments: 0 expected, but 2 found.', but I do not understand why. I have declared two list.
Also, I am having dead code starting at the line selectedContext == null || selectedContext.isEmpty
I have remove comma, but it does not changed the problem. If you can point me into the right direction, it would be appreciated. Many thanks in advance.
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:multi_select_flutter/multi_select_flutter.dart';
class TESTWIDGET extends StatefulWidget {
final List items;
final List selectedContext;
TESTWIDGET({Key key,@required this.items,@required this.selectedContext}) : super(key: key);
@override
_TESTWIDGETState createState() => _TESTWIDGETState(items,selectedContext);
}
class _TESTWIDGETState extends State<TESTWIDGET> {
List items,selectedContext;
@override
Widget build(BuildContext context) {
return MultiSelectBottomSheetField(
initialChildSize: 0.4,
listType: MultiSelectListType.CHIP,
searchable: true,
buttonText: Text("Favorite Animals"),
title: Text("Animals"),
items: items,
onConfirm: (values) {
selectedContext = values;
},
chipDisplay: MultiSelectChipDisplay(
onTap: (value) {
setState(() {
selectedContext.remove(value);
});
},
),
);
selectedContext == null || selectedContext.isEmpty
? Container(
padding: EdgeInsets.all(10),
alignment: Alignment.centerLeft,
child: Text(
"None selected",
style: TextStyle(color: Colors.black54),
))
: Container();
}
}
I have modified the code and started from scratch again. Below you will find the code.
import 'package:flutter_swipe_action_cell/core/cell.dart';
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/foundation.dart';
import 'package:multi_select_flutter/bottom_sheet/multi_select_bottom_sheet_field.dart';
import 'package:multi_select_flutter/util/multi_select_item.dart';
String inboxTaskDisplayed='';
int nbRecord=0;
var taskSelectedID;
var taskDone;
List <dynamic> curent_Context=[];
List<dynamic> allContexts=[];
List<Animal> _selectedAnimals2 = [];
//------TEST
List allMyContext=[];
class Animal {
final int id;
final String name;
Animal({
this.id,
this.name,
});
}
class ContextExisting {
final int id;
final String name;
ContextExisting({
this.id,
this.name,
});
}
TextEditingController passController = new TextEditingController();
//-----------------
var documentID;
var textController = TextEditingController();
var popUpTextController = TextEditingController();
List<Animal> _animals = [
Animal(id: 1, name: "Lion"),
Animal(id: 2, name: "Flamingo"),
Animal(id: 3, name: "Hippo"),];
List<ContextExisting> _contexts = [];
//_-----------------
class Inbox_Test_For_Chip_Trial extends StatefulWidget {
final String screenSelected;
final String titlePage;
Inbox_Test_For_Chip_Trial(Key key, {@required this.screenSelected, @required this.titlePage,}) : super(key: key);
@override
_Inbox_Test_For_Chip_TrialState createState() => _Inbox_Test_For_Chip_TrialState(screenSelected, titlePage);
}
class _Inbox_Test_For_Chip_TrialState extends State<Inbox_Test_For_Chip_Trial> {
GlobalKey<FormState> _inboxFormKey = GlobalKey<FormState>();
String screenSelected;
String titlePage;
_Inbox_Test_For_Chip_TrialState(this.screenSelected, this.titlePage,);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: new AppBar(
title: new Text(titlePage + ' ('+nbRecord.toString()+')'),
actions: <Widget>[
],
),
backgroundColor: Colors.white,
body: Container(
height: 250,
child: Column(
//mainAxisAlignment: MainAxisAlignment.center,
children: [
//FOR CONTEXT
Flexible(child: StreamBuilder(
stream: FirebaseFirestore.instance
.collection('Users')
.doc(FirebaseAuth.instance.currentUser.uid)
.collection('contexts')
.snapshots(),
builder: (BuildContext context,
AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(),
);
}
else {
return Container(
height: MediaQuery.of(context).size.height * .78,
width: MediaQuery.of(context).size.width,
child: ListView(
children: snapshot.data.docs.map((document) {
return Wrap(
children: [Card(
child: SwipeActionCell(
key: ObjectKey(document['context_Name']),
trailingActions: <SwipeAction>[
],
child: ListTile(
trailing: IconButton(
icon: Icon(Icons.keyboard_arrow_right),
onPressed: () async {
taskSelectedID = FirebaseFirestore
.instance
.collection('Users')
.doc(
FirebaseAuth.instance.currentUser
.uid)
.collection('contexts')
.doc(document.id).toString();
final doc = FirebaseFirestore.instance
.collection('users')
.doc('contexts')
.get();
for (int i=0, i<doc.length, i++) {
List <allMyContext> = ContextExisting (id:i, name:doc.name)
};
}
),
leading: ConstrainedBox(
constraints: BoxConstraints(
minWidth: 30,
minHeight: 35,
maxWidth: 30,
maxHeight: 35,
),
//InkWell(child: Icon(Icons.check_box_outline_blank),
),
title: Text(
document['context_Name'],
maxLines: 2,
overflow: TextOverflow.ellipsis,
),
),
),
),
]
);
}).toList(),
),
);
}
}),),
Container(child: TESTWIDGET())
],
),
),
//bottomNavigationBar: MyBottomAppBar(), //PersistentBottomNavBar(),
);
}
}
class TESTWIDGET extends StatefulWidget {
final _items = _animals
.map((animal) => MultiSelectItem<Animal>(animal, animal.name))
.toList();
TESTWIDGET({Key key}) : super(key: key);
@override
_TESTWIDGETState createState() => _TESTWIDGETState();
}
class _TESTWIDGETState extends State<TESTWIDGET> {
List<Animal> _selectedAnimals2 = [];
List items;
List<ContextExisting> selectedContext = [];
final _items = _animals
.map((animal) => MultiSelectItem<Animal>(animal, animal.name))
.toList();
@override
Widget build(BuildContext context) {
return Column(
children: [
MultiSelectBottomSheetField(
buttonText: Text("Contexts"),
onConfirm: (val2) {
// _selectedAnimals5 = val2;
},
items: _items,
initialValue:
_selectedAnimals2,
),
],
);
}
}
class TestWidgetContext extends StatefulWidget {
final _items = _Contexts
.map((Contexts) => MultiSelectItem<Animal>(ContextExisting, ContextExisting.name))
.toList();
TestWidgetContext({Key key}) : super(key: key);
@override
_TESTWIDGETState createState() => _TESTWIDGETState();
}
class _TestWidgetContextState extends State<TestWidgetContext> {
List itemsContext;
List<ContextExisting> selectedContext = [];
final _itemsContext = _contexts
.map((context) => MultiSelectItem<Animal>(ContextExisting, context.name))
.toList();
@override
Widget build(BuildContext context) {
return Column(
children: [
MultiSelectBottomSheetField(
buttonText: Text("Contexts"),
onConfirm: (val2) {
// _selectedAnimals5 = val2;
},
items: _itemsContext,
initialValue:
_selectedAnimals2,
),
],
);
}
}