簡體   English   中英

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

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM