我正在尝试通过使用 java 来使用 android x 的新导航功能,我面临以下问题
我正在使用 Safe Args 从一个目的地传递来自另一个目的地的数据,但我的捆绑包始终为空。我尝试了很多选择。
尝试在没有 Safe Args 的情况下通过参数传递,即使使用 Safe Args 我也遇到错误
// Passing an argument in fragment
nameBtn.setOnClickListener(v -> {
AccountFragmentDirections.ToNameFragment direction =
AccountFragmentDirections.toNameFragment().setNameArgument(editName.getText().toString());
Navigation.findNavController(v).navigate(direction);
});
//Retriving the nameArgument from bundle
String name = NameFragmentArgs.fromBundle(savedInstanceState).getNameArgument();
<!-- Fragments in Navigation graph -->
<fragment
android:id="@+id/nameFragment"
android:name="com.example.navigationdemo.NameFragment"
android:label="fragment_name"
tools:layout="@layout/fragment_name">
<argument
android:name="nameArgument"
app:argType="string"
app:nullable="true"
android:defaultValue="none" />
</fragment>
<fragment
android:id="@+id/accountFragment"
android:name="com.example.navigationdemo.AccountFragment"
android:label="fragment_account"
tools:layout="@layout/fragment_account" >
<action
android:id="@+id/toNameFragment"
app:destination="@id/nameFragment" />
</fragment>