如何在Arrays.asList()中使用for循环

时间:2017-01-10 08:35:50

标签: android arrays loops for-loop sharedpreferences

我坚持使用此代码。 我想用自定义适配器构建一个列表视图。 我将从SharedPreferences

中读取数据

代码正常工作:

List<Data> list = Arrays.asList(

            new Data(910000, "Name", "Address", 59855, "City", "Tel", "Coms", -8860075),
            new Data(958568, "Name 2", "My home", 985, "Somewhere","Tel", "", -8860075),
            new Data(058460, "Name 3", "my work", 2584, "There", "Tel", "", -8860075)
    );

现在,我预定了3个订单。 但是用户会添加更多的订单,我不知道总数(准确的说,我会在共享偏好中保存数据的总数,我会在以后阅读)

如何在Arrays.asList中添加for循环?

3 个答案:

答案 0 :(得分:1)

List<Data> list = new ArrayList<>();
    Data data1 = new Data(910000, "Name", "Address", 59855, "City", "Tel", "Coms", -8860075);
    Data data2 = new Data(958568, "Name 2", "My home", 985, "Somewhere","Tel", "", -8860075);
    list.add(data1);
    list.add(data2);

每当您获得新数据时,请创建新的Data对象并添加到列表中

答案 1 :(得分:0)

首先创建一个列表:

List<Data> list = new Arraylist<Data>();

当您的用户向您的列表添加somethig时,将其添加到数组中:

list.add(new Data(910000, "Name", "Address", 59855, "City", "Tel", "Coms", -8860075))

答案 2 :(得分:0)

以下是我对这个问题的理解。

1)您在共享首选项中有预定义数据。

2)您想将数据转换为对象列表(比如联系人数据)。

我的建议是,使用SharedPreferences的getAll方法。

Map<String, Data> contacts = sharedPreferences.getAll();

List<Data> contactsList = new ArrayList<>();

for(String contact: contacts.keySet()) {
    contactsList.add(contacts.get(contact));
}

//Process your list now in whatever way you want. 

希望这会有所帮助。