Java 如何替换arraylist中特定位置的值?
我有一个联系人列表数组,其中包含姓名、电话号码和状态。我在列表视图中显示它。在第一种情况下,当我单击要将状态更改为1的列表视图时,所有staus值均为零。怎么做 我与Getter和Setter的联系课程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
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
}
});