小编vat*_*bub的帖子

Android onRequestPermissionsResult 实用之super

当我使用时onRequestPermissionsResult(),保留 super 方法有用吗?

@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
Run Code Online (Sandbox Code Playgroud)

如果我们看一下 super 方法

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
        @NonNull int[] grantResults) {
    mFragments.noteStateNotSaved();
    int index = (requestCode >> 16) & 0xffff;
    if (index != 0) {
        index--;

        String who = mPendingFragmentActivityResults.get(index);
        mPendingFragmentActivityResults.remove(index);
        if (who == null) {
            Log.w(TAG, "Activity result delivered for unknown Fragment.");
            return;
        }
        Fragment frag = mFragments.findFragmentByWho(who);
        if (frag == null) {
            Log.w(TAG, "Activity result …
Run Code Online (Sandbox Code Playgroud)

android android-permissions

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

如何在 Gitlab 中获得 runner 的当前工作

是否可以获取或跟踪特定运行程序当前正在运行的作业?

例如。我有很多项目,我想跟踪一个runner_id=123. gitlab_api 有 api[url]/api/v4/runners/[runner_id]来获取 runner=123 的详细信息。但结果并没有显示出我所期望的 job_id 目前正在工作的内容。那么是否有可能像这样获取或跟踪。

gitlab gitlab-ci gitlab-api

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

无法在Xcode上创建新的IOS模拟器

我有新的Xcode安装,我无法创建新的模拟器,我按下按钮创建任何新的模拟器,但没有任何反应.我是MAC的新手,但我在linux上有一些经验,所以如果需要在终端上更改某些东西,我想如果你告诉我什么我可以做到.

创建模拟器屏幕: 创建模拟器屏幕

组件屏幕: 组件屏幕

另外我还有一些其他的错误,比如,每次打开模拟器时我都会收到"无法确定设备"的消息.

xcode ios ios-simulator

6
推荐指数
4
解决办法
3729
查看次数

ADB logcat无法清除主日志

当我使用adb连接到设备或模拟器时,我可以使用清除logcat adb logcat -c.我面临的问题是我经常收到以下消息:

failed to clear the 'main' log
Run Code Online (Sandbox Code Playgroud)

AFAIK,'main'是一个非root的缓冲区,这意味着我应该能够在没有root的情况下清除它.那么这个消息的原因是什么呢?

android adb

6
推荐指数
2
解决办法
2081
查看次数

F# 相当于 Kotlin 的 ?。操作员

我刚开始我的第一个 F# 项目并且来自 JVM 世界,我真的很喜欢 Kotlin 的可空性语法,并且想知道如何在 F# 中实现类似的紧凑语法。

下面是一个例子:

class MyClass {
    fun doSomething() {
        // ...
    }
}

// At some other place in the code:
val myNullableValue: MyClass? = null
myNullableVallue?.doSomething()
Run Code Online (Sandbox Code Playgroud)

这是做什么的:

  1. 如果myNullableValue没有 null的,即有一些数据,doSomething()是该对象上。
  2. 如果myNullableValuenull(就像上面的代码一样),什么都不会发生。

据我所知,F# 等效项是:

type MyClass = 
    member this.doSomething() = ()

type CallingCode() = 
    let callingCode() = 
        let myOptionalValue: MyClass option = None
        match myOptionalValue with 
        |Some(x) -> x.doSomething()
        |None -> ()
Run Code Online (Sandbox Code Playgroud)

在 Kotlin …

f# kotlin

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

最佳列表合并和操作技术

所以,我得到了一个(可变的)<TOKENS, Strings>对的列表,看起来像这样

...
Pair(IDENTIFIER, "A"),
Pair(TICKTICK, "``"),
Pair(IDENTIFIER, "_B")
...
Run Code Online (Sandbox Code Playgroud)

我需要遍历列表并结束合并:

...
Pair(IDENTIFER, "A_B")
...
Run Code Online (Sandbox Code Playgroud)

因此,基本上找到所有TICKTICK出现的标记并合并前两个标记(即,创建一个新对,将字符串添加在一起)。

我目前的想法是for寻找TICKTICK令牌,然后删除上一个、当前和下一个,然后插入一个新合并的令牌。

似乎应该有一种更自然的方式...... 有任何想法吗?

iterator().previous即使此链接指出,我似乎也无权访问

kotlin

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