单击弹出菜单按钮时如何删除项目列表?但是,我的列表和弹出菜单位于两个单独的文件中。我需要知道我根据按下的列表项删除了哪一个。
pop_up_menu.dart:
import 'package:flutter/material.dart';
class PopUpMenu extends StatelessWidget {
void showMenuSelection(String value) {
print("pressed");
}
@override
Widget build(BuildContext context) {
return PopupMenuButton<String>(
padding: EdgeInsets.zero,
icon: Icon(Icons.more_vert),
onSelected: showMenuSelection,
itemBuilder: (BuildContext context) => <PopupMenuEntry<String>>[
const PopupMenuItem<String>(
value: 'Create another',
child: ListTile(
leading: Icon(Icons.add), title: Text('Create another'))),
const PopupMenuItem<String>(
value: 'Delete',
child: ListTile(
leading: Icon(Icons.delete), title: Text('Delete')))
],
);
}
}
Run Code Online (Sandbox Code Playgroud)
所以在list_tile.dart中导入这个弹出菜单,每当我点击弹出菜单按钮“删除”时,我需要删除按下弹出菜单的选定列表项
List_tile.dart:
import 'package:flutter/material.dart';
import '../pop_up_menu/pop_up_menu.dart';
var levelsData = [];
class ListTile extends StatefulWidget {
@override
ListTileState createState() => new ListTileState(); …Run Code Online (Sandbox Code Playgroud) 我试图让列表在按下弹出菜单上的删除选项后自动刷新。它将从 api 调用的项目列表中删除所选项目。按下删除按钮后,该项目应立即消失。
使用 api 数据填充列表的 API 调用:
List data;
@override
void initState() {
super.initState();
this.getJsonData();
}
Future<String> getJsonData() async {
var response = await http.get(
Uri.encodeFull(url),
headers: {"Accept": "application/json"},
);
var extractdata = json.decode(response.body);
data = extractdata['levels'];
levelsData = data;
setState(
() {
var extractdata = json.decode(response.body);
data = extractdata['levels'];
},
);
return "Success";
}
Run Code Online (Sandbox Code Playgroud)
...
删除的API调用:
delete() async {
String url = "http://31.183.125.253:8080/users";
Map map = {
'price': 1.23,
'user_id': 'user2'
};
print(await apiRequest(url, map));
}
Future<String> apiRequest(String …Run Code Online (Sandbox Code Playgroud) 我有一个文本控制器,需要将文本控制器值传递给一个只接受 double 作为输入的类的参数,但默认情况下,文本控制器的类型是字符串。
文本控制器:
TextEditingController priceController = TextEditingController();
...
child: TextField(
controller: priceController,
keyboardType: TextInputType.number,
autofocus: true,
),
Run Code Online (Sandbox Code Playgroud)
将值 go priceController 传递给仅接受双精度值的参数:
LevelEventCreate(price: priceController.text);
Run Code Online (Sandbox Code Playgroud)
但是参数不接受 priceController.text 的值,因为它是一个字符串。有什么方法可以将其更改为双精度值?
我希望文本大小保持不变,但是我希望它在更大屏幕宽度的设备上更大。
MediaQueryData queryData;
@override
Widget build(BuildContext context) {
queryData = MediaQuery.of(context);
Text("Hello.",
style: TextStyle(
fontSize: queryData.size.width, color: Colors.white),
),
}
Run Code Online (Sandbox Code Playgroud)
然而,当我尝试 queryData.size.width 时它变得如此之大。在这种情况下,我希望文本根据不同的设备屏幕展开。
电流输出:
预期输出:
代码:
SizedBox(
width: 380,
height: 180,
child: Swiper(
itemCount: items.length,
itemBuilder: (context, index) {
return Column(
children: <Widget>[
Expanded(
child: Card(
child: ListTile(
title: Text(
'${items[index].title}',
),
subtitle: Text(
'${items[index].body}',
),
trailing: Column(
children: <Widget>[
CircleAvatar(
backgroundColor: HexColor("#0087a8"),
child: IconButton(
icon: Icon(Icons.add),
],
),
),
),
)
],
);
},
viewportFraction: 0.8,
scale: 0.9,
control: SwiperControl(color: Colors.white),
),
);
Run Code Online (Sandbox Code Playgroud)
我无法以这种方式创建图标按钮。当我放入填充时,它说像素溢出。我需要获得右下角的添加按钮。
我有一个字符串,其中包含从以前的类传递的信息。但是我需要在状态类中使用该变量。
包含信息(字符串文本)的有状态小部件类:
class CreateLevelScreen extends StatefulWidget {
String text;
CreateLevelScreen({Key key, @required this.text}) : super(key: key);
@override
State<StatefulWidget> createState() => _CreateLevelState();
}
Run Code Online (Sandbox Code Playgroud)
状态类小部件也可以检索该信息文本。
class _CreateLevelState extends State<CreateLevelScreen> {
//need to pass text in here to use it too.
}
Run Code Online (Sandbox Code Playgroud) 预期输出:
这是一个圆形头像与它上面的颜色和图像的组合。
电流输出:
代码:
leading: CircleAvatar(backgroundColor: contentWithIcon[value]['color']),
Run Code Online (Sandbox Code Playgroud)
我如何重叠彼此?
图片路径:
assets/img/forex.png
Run Code Online (Sandbox Code Playgroud) 所以我希望能够保存用户在共享首选项中键入的文本控制器中的文本但是,我也想同时转到下一页。
所以:
转到下一页
final _text = TextEditingController();
_nameSaver() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('my_string_key', _text.text);
}
FooterRaisedButton(
"Next",
() => (_text.text.isEmpty)
? null
: Navigator.pushNamed(context, '/onboardMarket'),
"#0087a8")
Run Code Online (Sandbox Code Playgroud)我不知道如何调用保存名称的功能,同时按下按钮将转到下一页
在此列表中,我要显示包含此特定名称的所有项目。
我的清单项目:['US','SG','US']
print(list.contains("US"));
Run Code Online (Sandbox Code Playgroud)
使用.contains()会返回true或false,但不会返回包含该字符串的字符串列表。我只想从列表中提取具有“ US”的项目。在这种情况下,有2个。请帮忙!
如何像图片上显示的那样在标注旁边对齐按钮?
这是我的代码:
.calloutS2 {
position: relative;
left: 7%;
}
.buttonOkS2 {
position: relative;
vertical-align: text-top;
float: right;
}
.buttonObserve {
position: relative;
float: right;
}Run Code Online (Sandbox Code Playgroud)
<div class="calloutS2" id="callOutStep2"><b><u><font size="5">Step 2:</font></u></b>
<p class="ps1" id="ps2">
<font size="4">Length of unknown side =<br>Total length of unknown sides ÷ 2</font>
<button class="buttonOkS2" id="buttonOkS2"></button>
</p>
</div>
<div><button class="buttonObserve" id="buttonObserve"></button></div>Run Code Online (Sandbox Code Playgroud)