所以我现在有点进退两难。
开始时
我有一个国家/地区列表,我想允许用户通过显示下拉菜单来选择其中任何一个,之前没有jetpack compose方式,我有一个扩展,这View反过来View.setupDropDown加载aListPopupWindow并将其锚定到当前视图,并显示所有项目并且工作完美,没有卡顿或任何帧丢失。
喜欢
val dropDown = ListPopupWindow(context)
dropDown.setAdapter(
ArrayAdapter(
context,
android.R.layout.simple_spinner_dropdown_item,
list.map { itemFormatter(it) })
)
Run Code Online (Sandbox Code Playgroud)
并显示它,或者我可以使用自定义
泡菜
因此,现在我正在 Jetpack Compose 中构建相同的体验,并使用DropDownMenu它加载所有这些项目,Column当项目数量较少时,它可以正常工作,但是,当涉及大量项目时,例如包含更多项目的列表然后是 100 个项目,它会丢掉几帧,并PopUp在延迟后显示。
我查看了内部并尝试通过将所有这些文件复制到示例项目中来替换Column,LazyColumn但这不起作用
Intrinsic measurements is not yet supported for the Subcomposables,它会抛出异常并失败。
DropdownMenu(
toggle = toggle,
expanded = showMenu,
onDismissRequest = { onDismiss() },
) {
options.forEach{ item ->
DropdownMenuItem(onClick = {
onDismiss()
}) {
Text(text = item)
} …Run Code Online (Sandbox Code Playgroud) android kotlin android-jetpack-compose android-jetpack-compose-list
如何在 flutter 应用程序的数据库中插入字符串列表,我尝试通过将 json 数组编码为字符串将其保存为字符串数据类型,但随后技能数组每次都需要显式解码,如下所示,每当我需要返回对象时数据库。
List<User> userResponse = await tempDatabase.allItems;
jsonData = Result.fromJson({
"name": userResponse[0].name,
"skills": jsonDecode(userResponse[0].skills)
});
Run Code Online (Sandbox Code Playgroud)
这是我的 json 响应
{
"result": [
{
"name":"Sidhant Rajora",
"skills": [
"C++",
"Java",
"Python",
"React"
]
},
{
"name":"Adity Rajora",
"skills": [
"C++",
"Java",
"Python"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我有这种 JSON 响应,它创建的模型 PODO 就像
class UsersJson {
List<Result> result;
UsersJson({this.result});
UsersJson.fromJson(Map<String, dynamic> json) {
if (json['result'] != null) {
result = new List<Result>();
json['result'].forEach((v) {
result.add(new Result.fromJson(v));
});
}
}
Map<String, dynamic> …Run Code Online (Sandbox Code Playgroud) 每当我尝试使用refresh_token获取新的access_token来访问用户电子邮件时,我都会收到错误
{
"error": "invalid_grant",
"error_description": "Malformed auth code."
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用邮递员点击URL
code:1/XXXXXXXX
client_id:XXXXXXXXX
client_secret:XXXXXXXXXX
grant_type:authorization_code
redirect_uri:http://localhost
access_type:offline
Run Code Online (Sandbox Code Playgroud)
而不是每次收到格式错误的身份验证代码时都获取新的 access_token 和 refresh_token
android ×2
android-jetpack-compose-list ×1
dart ×1
flutter ×1
google-oauth ×1
json ×1
kotlin ×1
sqflite ×1