0

我知道这一定是一个简单的问题。但我找不到任何解决方案。我有一个消息数组;

Message[] messages;

它有 9 项,我想在单击按钮时删除其中一项。但我找不到任何删除或删除功能。

我想做的是:

messages[1].remove;

或者

messages.remove(1);

然后我的数组有 8 个项目。我正在开发 Eclipse-Android。

4

2 回答 2

1
public static Message[] removeFromArray(Message[] array, int index)
{
    int length = array.length;
    if(index < 0 || index >= length) return array;

    Message temp = new Message[length - 1];
    int counter = 0;
    for(int i = 0; i < length; i++)
    {
        if(i == index) continue;
        temp[counter++] = array[i];
    }
    return temp;
}

// ...

Message[] messages = getMessageArraySomeHow();
messages = removeFromArray(messages, 1);
于 2012-05-06T11:56:26.360 回答
0

您可以为消息使用 ArrayList 而不是数组吗?在这种情况下,您可以使用ArrayList.remove(index)方法。

前任:

ArrayList<Message> messages = new ArrayList<Message>();
messages.remove(1);

如果默认情况下不能使用 Arraylist,

ArrayList<Message> messageList = new ArrayList(Arrays.asList(messages));
messageList.remove(1);
于 2012-05-06T11:50:31.930 回答