[英]How to replace a value in a Specific Location in arraylist?
我有一個聯系人列表數組,其中包含姓名,電話號碼和狀態。 我在列表視圖中顯示它。 在第一種情況下,當我單擊列表視圖時,所有狀態值均為零,我想將狀態更改為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);
所以我想替換狀態值。 提前感謝
首先,我想下面的一行中有一個錯字。
ArrayList<Contact> _ArrayList = new ArrayList<Contact>(); // Contact should be without double quotes.
接下來,您可以使用List#get(index)
方法獲取特定索引處的元素。
例如:我使用示例索引為0 。 您可以根據需要使用索引。
ArrayList.get(0).setStatus(2); // Change the status of the element at index 0
一種簡單的方法是遍歷數組列表,以標識必須更改其狀態的正確用戶。 如下所示:
for(Contact contactObj: _ArrayList){
if (contactObj.getName().equals("User1")){
contactObj.setStatus(-1);
}
}
在這里,它將遍歷聯系人列表,以匹配並找到名稱為“ User1”的聯系人,並將其狀態更改為-2
我希望這有幫助
試試下面的代碼:
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的對象...
希望這能解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.