小编Mah*_*hag的帖子

如何在jetpack compose中传递导航中的对象?

文档中,我可以传递字符串、整数等。但是如何在导航上传递对象呢?

注意:如果我设置参数类型 Parcelable,则应用程序会崩溃并显示java.lang.UnsupportedOperationException: Parcelables don't support default values..

composable(
    "vendor/details/{vendor}",
        arguments = listOf(navArgument("vendor") {
            type = NavType.ParcelableType(Vendor::class.java)
        })
) {
// ...
}
Run Code Online (Sandbox Code Playgroud)

android-jetpack-compose jetpack-compose-navigation

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

当我将材质 TabLayout 与项目一起使用时,Android layout.xml UI 消失了

这是错误:

java.lang.NullPointerException: Cannot invoke "android.content.res.BridgeTypedArray.setTheme(android.content.res.Resources$Theme)" because "ta" is null
    at android.content.res.Resources_Theme_Delegate.obtainStyledAttributes(Resources_Theme_Delegate.java:74)
    at android.content.res.Resources$Theme.obtainStyledAttributes(Resources.java:1631)
    at android.content.Context.obtainStyledAttributes(Context.java:874)
    at android.widget.TextView.setTextAppearance(TextView.java:3965)
    at androidx.appcompat.widget.AppCompatTextView.setTextAppearance(AppCompatTextView.java:216)
    at com.google.android.material.textview.MaterialTextView.setTextAppearance(MaterialTextView.java:106)
    at android.widget.TextView.setTextAppearance(TextView.java:3954)
    at androidx.core.widget.TextViewCompat.setTextAppearance(TextViewCompat.java:289)
    at com.google.android.material.tabs.TabLayout$TabView.updateTab(TabLayout.java:2772)
    at com.google.android.material.tabs.TabLayout$TabView.update(TabLayout.java:2801)
    at com.google.android.material.tabs.TabLayout$TabView.setTab(TabLayout.java:2713)
    at com.google.android.material.tabs.TabLayout.createTabView(TabLayout.java:1673)
    at com.google.android.material.tabs.TabLayout.newTab(TabLayout.java:956)
    at com.google.android.material.tabs.TabLayout.addTabFromItemView(TabLayout.java:824)
    at com.google.android.material.tabs.TabLayout.addViewInternal(TabLayout.java:1730)
    at com.google.android.material.tabs.TabLayout.addView(TabLayout.java:1720)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1131)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1130)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:1101)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:686)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:505)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:353)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:450)
    at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:122)
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:727)
    at com.android.tools.idea.rendering.RenderTask.lambda$inflate$9(RenderTask.java:884)
    at com.android.tools.idea.rendering.RenderExecutor$runAsyncActionWithTimeout$3.run(RenderExecutor.kt:195)
    at com.android.tools.idea.rendering.RenderExecutor$PriorityRunnable.run(RenderExecutor.kt:293)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown …
Run Code Online (Sandbox Code Playgroud)

user-interface android android-tablayout

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

Firestore 中不同结果的查询功能

是否有任何查询函数可以在 firestore 中获得不同的结果。

例如:

Query query = colRef.orderBy("title")
                        .startAt("R")
                        .limit(10);
Run Code Online (Sandbox Code Playgroud)

这给了我所有以“R”开头的“title”文档,其中包含这样的重复项:

Recording
Running
Running
Running
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到这样一个明显的结果:

Recording
Running
Run Code Online (Sandbox Code Playgroud)

android google-cloud-firestore

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

TextView 动态宽度,最后有一个视图

我有两个元素, aTextView和 an ImageView。该ImageView会在的结束TextView。所述TextView的宽度将基于文本的变化,并且ImageView也遵循的结束TextView。像这样:

在此处输入图片说明

但问题是,如果文本太长,ImageView就会从屏幕上消失,就像这样:

在此处输入图片说明

但它应该是这样的:

在此处输入图片说明

如何仅通过 XML 获取此信息?我知道以编程方式可以实现,但我想要一个 XML 解决方案。

注意:ImageView可以是Button,所以我不能使用drawableEnd类似的解决方案。

android android-layout

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