Androidの新しいナビゲーションコンポーネントで文字列や整数以外の引数を送信することは可能ですか?質問する

Androidの新しいナビゲーションコンポーネントで文字列や整数以外の引数を送信することは可能ですか?質問する

新しいナビゲーション コンポーネントは素晴らしいです。ただし、フラグメント間で「長い」変数を送信したいと思います。

ナビゲーション グラフ ファイルにこれを記述すると、次のように機能します。

<argument
        android:name="discussionId"
        app:type="string" />

こう書くとコンパイルされません:

<argument
        android:name="discussionId"
        app:type="long" />

現時点では、文字列形式との間で解析する必要があるようです。問題なく動作しますが、このような基本的なアーキテクチャで long や byte や short などのプリミティブ型を使用できないのは奇妙に思えます。何か見落としているのでしょうか? 将来、このような機能セットが開発される予定でしょうか?

ベストアンサー1

バージョン1.0.0-alpha08以降では、さまざまなタイプを使用できます。リストを見つけました。ここ

"integer" -> IntType
"integer[]" -> IntArrayType
"long" -> LongType
"long[]" -> LongArrayType
"float" -> FloatType
"float[]" -> FloatArrayType
"boolean" -> BoolType
"boolean[]" -> BoolArrayType
"reference" -> ReferenceType
"reference[]" -> ReferenceArrayType
"string" -> StringType
"string[]" -> StringArrayType
null -> StringType

ナビゲーショングラフで使用される(例:文字列のリスト)

<argument
    android:name="photo_url"
    app:argType="string[]"
/>

おすすめ記事