如何替换arraylist中特定位置的值?

时间:2013-11-28 10:57:01

标签: java android arraylist

我有一个联系人列表数组,它包含姓名和电话号码和状态。我在列表视图中显示它。在第一种情况下,当我单击列表视图时,所有staus值都为零我想将状态更改为1.如何操作。

我与Getter和Setters的联系课程

public class Contact {

    private String Name;
    private String PhoneNo;
    private String Status;

    public String getName() {
        return Name;
    }
    public void setName(String name) {
        Name = name;
    }
    public String getPhoneNo() {
        return PhoneNo;
    }
    public void setPhoneNo(String phoneNo) {
        PhoneNo = phoneNo;
    }
    public String getStatus() {
        return Status;
    }
    public void setStatus(String status) {
        Status = status;
    }


}

我使用此类定义arraylist

  ArrayList<"Contact"> _ArrayList = new ArrayList<"Contact">();

我将值添加为

  Contact contact = new Contact();
    contact.setName("User1");
    contact.setPhoneNo("956375369");
    contact.setStatus(1);
    _ArrayList.add(contact);

所以我想替换状态值。 Thanx提前

3 个答案:

答案 0 :(得分:2)

首先,我猜在下面的行中有一个拼写错误。

ArrayList<Contact> _ArrayList = new ArrayList<Contact>(); // Contact should be without double quotes.

接下来,您可以使用List#get(index)方法获取特定索引处的元素。

E.g:我使用示例索引为 0 。您可以根据您的要求使用索引。

ArrayList.get(0).setStatus(2); // Change the status of the element at index 0

答案 1 :(得分:0)

一种简单的方法是迭代数组列表以识别其状态必须更改的正确用户。如下所示:

for(Contact contactObj: _ArrayList){

if (contactObj.getName().equals("User1")){
contactObj.setStatus(-1);
}

}

此处它会遍历联系人列表,以匹配并找到名称为“User1”的联系人,并将其状态更改为-2

我希望这会有所帮助

答案 2 :(得分:0)

尝试以下代码:

listview.setOnItemClickListener(new OnItemClickListener(){

    public void onItemClick(AdapterView<?> parent, View view, int position, long id){

        _ArrayList.get(position).setStatus(0); // Change status of clicked list row
   }
});

这里listView是ListView的对象......

希望这能解决您的问题。