1

我在这里有一个案例,我必须从活动中打开一个片段,我有时会这样做,但这里的问题是我想打开与之有争议的片段。

<fragment
    android:id="@+id/productDetailsFragment"
    android:name="com.a.ry.ui.product.ProductDetailsFragment"
    android:label="fragment_product_details2"
    tools:layout="@layout/fragment_product_details" >
    <argument
        android:name="productId"
        app:argType="integer" />
</fragment>

我所知道的是我可以打开一个片段(来自活动)并像这样传递它的参数:

val bundle = Bundle()
bundle.putInt("productId", productIdValue)
navController.navigate(R.id.productDetailsFragment, bundle)

问题在这里“productId” 如果另一个开发人员从navigation.xml文件更改该名称怎么办,所以这根本不是最佳实践

我想对该参数名称进行相同的引用。

或者,如果有另一种解决方案?

4

1 回答 1

0

您应该在 string.xml 中定义它并在 XML 和代码中使用。

android:name="@string/VAR"

 getString (R.string.VAR);
于 2021-02-26T11:20:20.303 回答