小编yau*_*nka的帖子

eglCodecCommon: setVertexArrayObject: 设置 vao 调试信息

我有 Android Emulator (API 28) logcat 被这样的消息淹没。

D/eglCodecCommon: setVertexArrayObject: set vao to 1 (1) 0 0
D/eglCodecCommon: setVertexArrayObject: set vao to 0 (0) 29 30
Run Code Online (Sandbox Code Playgroud)

那是什么,我应该担心吗?

android android-emulator

35
推荐指数
2
解决办法
6414
查看次数

如何在 .NET Core 3.0 中为 WPF 应用程序引用 System.Windows.Forms?

我正在将我的 WPF 桌面应用程序从 .NET Framework 迁移到 Core 3.0。我正在使用 System.Windows.Forms.FolderBrowserDialog() 并且我现在被困在如何将此引用添加到 Core 项目上。没有可用的“System.Windows.Forms”NuGet 包,是吗?有没有其他方法可以在 Core 中显示 FolderBrowserDialog?

更新

我使用默认模板创建了 Core 项目,然后将 .cs 和 .xaml 文件复制并粘贴到其中。.csproj 文件如下所示:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

c# wpf folderbrowserdialog .net-core

31
推荐指数
3
解决办法
1万
查看次数

如何在 Kotlin 的一行中将一个值与其他几个值进行比较

在 Kotlin 中是否有更好的替代表达方式: a == b || a == c

我正在寻找类似a == b || ca.equals(b, c)

equality kotlin

8
推荐指数
3
解决办法
792
查看次数

Core 3.0 中的 Process.Start 不会仅按名称打开文件夹

我刚刚将桌面应用程序从 Framework 迁移到 Core 3.0。

Process.Start(path_to_folder);在框架中工作正常,但Win32Exception: Access denied在核心中抛出。Process.Start("explorer.exe", path_to_folder);两者都可以正常工作。

这是核心中的错误或限制吗?

c# .net-core-3.0

7
推荐指数
1
解决办法
1391
查看次数

如何在 PostgreSQL 中将前缀匹配附加到 tsquery

我正在尝试利用 PostgreSQL 的全文搜索功能,特别是当用户键入某些搜索文本时,我想向他显示结果,并假设最后一个单词不完整。

为此,需要将“*”通配符附加到最后一个 tsquery 词素。例如,如果用户在"The fat ra"tsquery 中键入应该是'fat' & 'ra':*.

如果我将通配符附加到输入字符串并使用plainto_tsquery函数解析它,那么通配符将被删除plainto_tsquery("The fat ra" || ":*") => 'fat' & 'ra'

to_tsquery函数手动构造一个tsquery,需要对字符串进行大量修改(比如修剪空格等特殊字符,用&符号替换空格),让函数接受。

有没有更简单的方法来做到这一点?

postgresql full-text-search

6
推荐指数
1
解决办法
1475
查看次数

取消从 ViewModel 协程作业启动的改造请求

我希望我的应用用户能够取消文件上传。

我在 ViewModel 中的协程上传工作看起来像这样

private var uploadImageJob: Job? = null
private val _uploadResult = MutableLiveData<Result<Image>>()
val uploadResult: LiveData<Result<Image>>
    get() = _uploadResult

fun uploadImage(filePath: String, listener: ProgressRequestBody.UploadCallbacks) {
    //...
    uploadImageJob = viewModelScope.launch {
        _uploadResult.value = withContext(Dispatchers.IO) {
            repository.uploadImage(filePart)
        }
    }
}

fun cancelImageUpload() {
    uploadImageJob?.cancel()
}
Run Code Online (Sandbox Code Playgroud)

然后在存储库中,Retrofit 2 请求是这样处理的

suspend fun uploadImage(file: MultipartBody.Part): Result<Image> {
    return try {
        val response = webservice.uploadImage(file).awaitResponse()
        if (response.isSuccessful) {
            Result.Success(response.body()!!)
        } else {
            Result.Error(response.message(), null)
        }
    } catch (e: Exception) {
        Result.Error(e.message.orEmpty(), e)
    }
} …
Run Code Online (Sandbox Code Playgroud)

android coroutine viewmodel kotlin retrofit2

5
推荐指数
1
解决办法
1633
查看次数

LiveData 观察者与 onPrepareOptionsMenu 竞赛

我正在开发一个项目,该项目允许用户以访客或注册用户身份进入。存在user具有当前用户类型的 LiveData的应用程序范围对象

private val _isGuest = MutableLiveData<Boolean>()
val isGuest: LiveData<Boolean>
    get() = _isGuest
Run Code Online (Sandbox Code Playgroud)

HomeFragment 需要logout为注册用户显示菜单项。该片段有一个绑定到全局属性的 ViewModel

val isGuest: LiveData<Boolean> = MainApplication.user.isGuest
Run Code Online (Sandbox Code Playgroud)

并且片段观察数据

var menu: Menu? = null

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    ...
    viewModel.isGuest.observe(viewLifecycleOwner, Observer {
        menu?.findItem(R.id.action_logout)?.isVisible = !it
    })
}

override fun onPrepareOptionsMenu(menu: Menu) {
    this.menu = menu
    menu.findItem(R.id.action_logout)?.isVisible = !isGuest
    super.onPrepareOptionsMenu(menu)
}
Run Code Online (Sandbox Code Playgroud)

我需要在观察者中切换菜单项,因为注册用户可以在运行时注销,并且需要分别更新当前屏幕。

问题是我还必须复制 onPrepareOptionsMenu 中的代码,因为观察者可能会before在启动时收到通知菜单已初始化。我当然可以将那行代码移到一个单独的函数中并从两点调用它,但没有更好的解决方案吗?

android kotlin android-livedata

5
推荐指数
1
解决办法
320
查看次数

更新 Kotlin StateFlow 而不发出更改

是否可以在不发出更改的情况下更新 Kotlin StateFlow?用例是,当用户缩放图表视图时,我希望在活动恢复时恢复该视图,但在缩放过程中跳过 StateFlow 事件。

kotlin kotlin-stateflow

5
推荐指数
1
解决办法
2214
查看次数

pgadmin4 config_local.py 在 Windows 上的位置

Windows 上的pgadmin4 应该config_local.py放在哪个目录中?尝试过C:\Users\{user}\AppData\Roaming\pgAdmin\但没有运气。使用 PgAdmin v5.3。

pgadmin

4
推荐指数
1
解决办法
9607
查看次数

底部导航 setOnItemSelectedListener 返回 super

我的按钮导航设置如下,它工作正常。

navController = findNavController(R.id.nav_host_fragment)
appBarConfiguration = AppBarConfiguration(setOf(R.id.nav_1, R.id.nav_2))
setupActionBarWithNavController(navController, appBarConfiguration)
binding.bottomNavView.setupWithNavController(navController)
Run Code Online (Sandbox Code Playgroud)

现在,如果当前片段是第二个片段并且其中设置了一些标志,我想阻止切换片段。

我尝试过使用,bottomNavView.setOnItemSelectedListener但它破坏了整个导航控制器机制,并且需要您自己进行片段和标题切换。

是否有其他方法可以覆盖特定项目的导航控制器行为并让它像往常一样处理其余部分,例如super.onItemSelected()

android kotlin

4
推荐指数
1
解决办法
1010
查看次数

如何执行单击 TextInputLayout EndIcon 按钮

我知道可以单击这样的视图:

view.PerformClick()
Run Code Online (Sandbox Code Playgroud)

我如何在TextInputLayoutEndIcon上做到这一点button

更新

问题是我有一堆 InputLayouts 并使用通用函数在它们上设置点击侦听器,就像这样

fun setTextInputLayoutListeners(
    inputLayout: TextInputLayout, editText: TextInputEditText,
    actionSet: () -> Unit,
    actionClear: () -> Unit
) {
    with (inputLayout) {
        setOnClickListener { actionSet() }
        setEndIconOnClickListener { actionClear() }
    }
    editText.setOnClickListener { actionSet() }
}
Run Code Online (Sandbox Code Playgroud)

并像这样用不同的参数调用它

setTextInputLayoutListeners(
    categoryInputLayout, categoryEditText, { onCategoryClick() }, { onCategoryClear() }
)
setTextInputLayoutListeners(
    dateInputLayout, dateEditText, { onDateClick() }, { onDateClear(calendar) }
)
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找一个通用的解决方案,有点

inputLayout.EndIcon.PerformClick()
Run Code Online (Sandbox Code Playgroud)

android kotlin android-textinputlayout

3
推荐指数
1
解决办法
2759
查看次数

c# 8.0 switch 表达式返回类型和空值

我试图了解 C# 8.0 switch 表达式的工作原理,但有几个问题。

  1. 为什么null在默认情况下不能使用值?编译器抛出Cannot convert null to 'int' because it is a non-nullable value type错误。
  2. 为什么它试图将空值转换为int函数的返回类型是“double?”?

这是我正在玩的功能:

public static double? SwitchFunction(int x) =>
    x switch
    {
        1 => 1,
        _ => null
    };
Run Code Online (Sandbox Code Playgroud)

c# c#-8.0 switch-expression

1
推荐指数
1
解决办法
1518
查看次数