簡體   English   中英

將 ArrayList 作為參數傳遞給 safeArgs

[英]passing ArrayList as argument in safeArgs

我試圖在使用 safeArgs 時將ArrayList<String>作為參數傳遞。 但是當我從可序列化和構建列表中的 select ArrayList 時,它向我拋出了這些異常

One type argument expected for class ArrayList<E : Any!>
One type argument expected. Use 'ArrayList<*>' if you don't want to pass type arguments

我知道我必須為 ArrayList 設置數據類型,但在從導航圖屏幕設置 safeArgs 時我無法做到,也沒有選項。

在導航圖 XML 中,代碼生成為

<argument
            android:name="teamsToAdd"
            app:argType="java.util.ArrayList" />

有沒有辦法在導航圖的 XML 中聲明數據類型?

嘗試這個:

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

在通過 GUI 生成參數時,您還可以通過檢查Array選項來生成它:

在此處輸入圖像描述

由於這將需要一個字符串數組而不是列表,因此您可以將列表轉換為數組:

parameterList.toTypedArray()

然后從一個數組返回:

receivedArray.toList()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM