【问题标题】:No suitable parent found from the given view. Please provide a valid view从给定视图中找不到合适的父级。请提供有效的观点
【发布时间】:2021-09-29 18:26:52
【问题描述】:

我明白了

java.lang.IllegalArgumentException: No suitable parent found from the given view. Please provide a valid view.
    at com.google.android.material.snackbar.Snackbar.makeInternal(Snackbar.java:198)
    at com.google.android.material.snackbar.Snackbar.make(Snackbar.java:157)


ActivityResultLauncher<Intent> mLauncher = registerForActivityResult(
        new ActivityResultContracts.StartActivityForResult(),
        new ActivityResultCallback<ActivityResult>() {
            @Override
            public void onActivityResult(final ActivityResult result) {
                if (result.getResultCode() == Activity.RESULT_OK) {
                    final Intent data = result.getData();
                    Snackbar.make(MainFragment.this.binding.getRoot(), data.getStringExtra("nextEvent"), Snackbar.LENGTH_LONG)
                            .setAction("Action", null).show();

                }
            }
        });

我知道您认为“不再...”但是为什么我在模拟器和三星设备上都没有遇到这个问题。此错误仅发生在一台装有 MIUI 12 (Android 10) 的 XIAOMI 上。

我的目标 SDK 是 26。

有人遇到过这种情况吗?

【问题讨论】:

    标签: android


    【解决方案1】:

    能猜到吗……

    “不保留活动”已在开发者设置中启用。

    也许已弃用的 startActivityForResult 将在启用此设置的情况下工作。

    【讨论】:

    • 在所有的 registerForActivityResult gumph 下不会这么认为,它最终仍会调用 ActivityCompat.startActivityForResult(activity, intent, requestCode, optionsBundle) - 你只是有一个带有一些合同的包装 api .. 如果它确实有效,我会感到惊讶.
    猜你喜欢
    • 2018-05-19
    • 2021-08-24
    • 2018-12-14
    • 2019-05-21
    • 2020-01-15
    • 2016-11-09
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    相关资源
    最近更新 更多