gpt4 book ai didi

android - 如何从 SafeArgs 中的资源中获取默认字符串值?

转载 作者:行者123 更新时间:2023-12-03 13:25:27 26 4
gpt4 key购买 nike

我正在学习 Android NavigationUI,并尝试使用 Safe Args 中的字符串默认值设置工具栏标题。但是有一些问题。

“字符串资源”文件:

    <string name="title_add_item">Add new items</string>

导航图文件。设置标签为 Title: {title}争论。
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_graph"
app:startDestination="@id/mainFragment">

<fragment
android:id="@+id/addNewItemFragment"
android:name="com.myapplication.AddNewItemFragment"
android:label="Title: {title}"
tools:layout="@layout/fragment_add_new_item" >
<argument
android:name="title"
app:argType="string"
android:defaultValue="@string/title_add_item" />
</fragment>
<fragment
android:id="@+id/mainFragment"
android:name="com.myapplication.MainFragment"
android:label="fragment_main"
tools:layout="@layout/fragment_main" >
<action
android:id="@+id/action_to_add_items_fragment"
app:destination="@id/addNewItemFragment" />
</fragment>

如果 {app:argType="string"}我收到一个错误:
 Caused by: org.xmlpull.v1.XmlPullParserException: unsupported value 'Add new items' for string. You must use a "reference" type to reference other resources.

如果 {app:argType="reference"}应用程序有效,但我的标题中有一个数字(我认为这是一个资源 ID):

enter image description here

当然,我可以通过从参数中获取它来分配代码中工具栏标题的值。但是是否可以更改此代码以正确填写标题?

最佳答案

References to resources are supported only in reference types. Using aresource reference in any other type results in an exception.


随意给现有问题加注星标: https://issuetracker.google.com/issues/167959935 .目前,您可以使用 app:argType="string" 对字符串值进行硬编码。或尝试以编程方式设置,直到它得到解决。
enter image description here
  • https://developer.android.com/guide/navigation/navigation-pass-data#supported_argument_types
  • https://stackoverflow.com/a/55701078/4694013
  • 关于android - 如何从 SafeArgs 中的资源中获取默认字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57274992/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com