Android共享首选项TinyDB putListObject函数

用户4932354

我正在尝试使用TinyDB的putListObject功能将对象列表保存到“共享首选项” ,但是出现Wrong 2nd argument type错误。我可以正常使用该putObject功能,该错误仅在使用该putListObject功能时出现


玩家等级:

public class Player {

    private String name = "";
    private int score = 0;

    public Player(String name, int score) {
        this.name = name;
        this.score = score;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }
}

putListObject函数:

 public void putListObject(String key, ArrayList<Object> objArray){
        checkForNullKey(key);
        Gson gson = new Gson();
        ArrayList<String> objStrings = new ArrayList<String>();
        for(Object obj : objArray){
            objStrings.add(gson.toJson(obj));
        }
        putListString(key, objStrings);
    }

我如何使用该功能:

ArrayList<Player> playerList = new ArrayList<Player>();

TinyDB tinydb = new TinyDB(this);
tinydb.putListObject("players", playerList);

我得到的错误:

TinyDB中的putListObject(String java.util.ArrayList <java.lang.Object>)无法应用于(String java.util.ArrayList <com.example.package.Player>)


帮助将不胜感激!

窒息的乐趣

尽管of的任何实例Player都是Object,但ArrayListPlayersArrayList的对象与Objects的对象不同。将方法签名更改为:

putListObject(String key, ArrayList<Player> objArray)

和循环到:

for(Player player : objArray){
   objStrings.add(gson.toJson(player));
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章