我有一个联系人列表数组,它包含姓名和电话号码和状态。我在列表视图中显示它。在第一种情况下,当我单击列表视图时,所有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提前
答案 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的对象......
希望这能解决您的问题。