我正在尝试使用颤振框架创建抽屉导航,但每次运行时都会出现以下异常
引发了另一个异常:使用不包含导航器的上下文请求的导航器操作。
那么解决方案是什么,有什么帮助吗?
我使用 Navigator 类如下
void main() {
runApp(new MyApp());
}
class MyApp extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return new AppStates();
}
}
class AppStates extends State<MyApp> {
@override
Widget build(BuildContext context) {
// TODO: implement build
return MaterialApp(
home: new Scaffold(
appBar: AppBar(
title: Text("Application App Bar"),
),
drawer: Drawer(
child: ListView(
children: <Widget>[
ListTile(
title: Text("Next Page"),
onTap: () {
Navigator.push(context,
MaterialPageRoute(builder: (context) => NextPage()));
},
)
],
),
),
), …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 flutter 框架将一行插入到数据库中的表中,当我将返回的值分配给新变量时,我收到以下错误消息
a value of type future<int> can not be assigned to a variable of type int
Run Code Online (Sandbox Code Playgroud)
这是插入新行的函数
Future<int> addContact(String contact_name, String contact_phone) async {
Database c = await getConnection;
Map<String, dynamic> contact = getMap(contact_name, contact_phone);
return await c.insert("contacts", contact);
}
Run Code Online (Sandbox Code Playgroud)
在这里我获取返回的数据
int result=db.addContact(name, phone);
Run Code Online (Sandbox Code Playgroud) 有两种方法可以用Dart编程语言导入软件包,我需要知道两者之间的区别是什么?还有什么时候使用第一种方法,什么时候使用第二种方法?
第一种方式:
import 'dart:io';
Run Code Online (Sandbox Code Playgroud)
第二种方式
import 'dart:io' as io;
Run Code Online (Sandbox Code Playgroud) 我正在尝试为 android studio 中的选项菜单项添加事件,但是当我使用 item.itemId 时收到此错误消息
在 MenuItem 类型的可空接收器上只允许安全(?.)或非空断言(!!.)调用
这是我的代码
override fun onOptionsItemSelected(item: MenuItem?): Boolean {
if(item.itemId==R.id.home){
var homeIntent= Intent(this,SignIn::class.java)
startActivity(homeIntent)
}
else if(item.itemId==R.id.sign_in){
var signInIntent= Intent(this,SignIn::class.java)
startActivity(signInIntent)
}
else if(item.itemId==R.id.close){
System.exit(0)
}
return super.onOptionsItemSelected(item)
}
Run Code Online (Sandbox Code Playgroud)