MyListViewClassActivity

MyListViewClassActivity

我会解释我的问题

我有2节课:


MyListViewClassActivity(实现可序列化,以便可以使用意图putExtra进行解析)
MyOtherClassActivity


在MyListViewClassActivityi内部处理ListView和称为alMyData的初始ArrayList

然后MyListViewClassActivity将意图/调用名为MyOtherClass的新活动,我将放置额外的alMyData(我可以告诉您alMyData正确解析了其中的所有数据)

MyOtherClassActivity将向alMyData添加新数据。

我将关闭MyOtherClassActivity,使其再次出现MyListViewClassActivity。在MyListViewClassActivity内部,具有onResume的adapter.notifyDataSetChanged。

我的问题 :

当MyListViewClassActivity中的onResume数据不增加时,我可以确定已经在MyOtherClassActivity中添加了新数据。

为什么呢请给我解释和解决方案。

谢谢。

最佳答案

我认为您不太了解android及其工作原理。您不应该通过额外的数据列表。

MVC pattern,Android是一种MVC(虽然安静,但仍然可以帮助您理解机制)。

您应该有一个数据模型。然后您的活动就可以作为控制器了。

您也可以查看RecyclerView。这是在androdi上显示列表的正确方法。而且,如果您使用Android Studio(我敢肯定您会这样做),则可以使用efault模型和所需的所有内容生成它们。

编辑:
我提议的是你使用那种课

package com.polytech.unice.tobeortohave.compare.dummy;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Helper class for providing sample content for user interfaces created by
 * Android template wizards.
 * <p>
 * TODO: Replace all uses of this class before publishing your app.
 */
public class DummyContent {

/**
 * An array of sample (dummy) items.
 */
public static final List<DummyItem> ITEMS = new ArrayList<>();

/**
 * A map of sample (dummy) items, by ID.
 */
public static final Map<String, DummyItem> ITEM_MAP = new HashMap<>();

private static final int COUNT = 25;

static {
    // Add some sample items.
    for (int i = 1; i <= COUNT; i++) {
        addItem(createDummyItem(i));
    }
}

private static void addItem(DummyItem item) {
    ITEMS.add(item);
    ITEM_MAP.put(item.id, item);
}

private static DummyItem createDummyItem(int position) {
    return new DummyItem(String.valueOf(position), "Item " + position, makeDetails(position));
}

private static String makeDetails(int position) {
    StringBuilder builder = new StringBuilder();
    builder.append("Details about Item: ").append(position);
    for (int i = 0; i < position; i++) {
        builder.append("\nMore details information here.");
    }
    return builder.toString();
}

/**
 * A dummy item representing a piece of content.
 */
public static class DummyItem {
    public final String id;
    public final String content;
    public final String details;

    public DummyItem(String id, String content, String details) {
        this.id = id;
        this.content = content;
        this.details = details;
    }

    @Override
    public String toString() {
        return content;
    }
}
}


那就是您的RecyclerView或ListView的模型。当然,您将需要一个自定义的适配器来处理这种数据格式。

但是通过这种方式,您可以从应用程序中任何位置的列表中添加或删除数据。

关于java - 如何在不同的 Activity 中为ListView修改ArrayList但ListView和ArrayList,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45432818/

10-10 14:45