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

Java 如何替换arraylist中特定位置的值?,java,android,arraylist,Java,Android,Arraylist,我有一个联系人列表数组,其中包含姓名、电话号码和状态。我在列表视图中显示它。在第一种情况下,当我单击要将状态更改为1的列表视图时,所有staus值均为零。怎么做 我与Getter和Setter的联系课程 public class Contact { private String Name; private String PhoneNo; private String Status; public String getName() { retur

我有一个联系人列表数组,其中包含姓名、电话号码和状态。我在列表视图中显示它。在第一种情况下,当我单击要将状态更改为1的列表视图时,所有staus值均为零。怎么做

我与Getter和Setter的联系课程

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">();

所以我想替换status值。Thanx预先

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

for(Contact contactObj: _ArrayList){

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

}
在这里,它将遍历联系人列表,以匹配并查找名为“User1”的联系人,并将其状态更改为-2


我希望这能有所帮助首先,我想下面的一行有一个打字错误

ArrayList<Contact> _ArrayList = new ArrayList<Contact>(); // Contact should be without double quotes.
请尝试以下代码:

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.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
_ArrayList.get(position).setStatus(0);//更改已单击列表行的状态
}
});
这里listView是listView的对象


希望这能解决您的问题。

请显示您的listview代码。您需要在
listview
上分配
OnItemClickListener
。然后,当您单击您所单击的已知位置的项目时,在该位置更新列表中的项目,并调用
notifyDataSetChanged()
发送更新
ListView
自身的请求。您可以使用map将值存储为键-->联系人和值-->“状态和电话号码”。使用map.get(单击\u元素\u联系人)并更新状态谢谢你的回答谢谢你的回答
ArrayList.get(0).setStatus(2); // Change the status of the element at index 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
   }
});