簡體   English   中英

在ListView中唯一標識項目的元素

[英]Uniquely identify an item's element in ListView

您能幫我如何找到特定項目的textView嗎? 例如,我有一個包含某些項目的listView,每個項目都由3個textViews(名稱,價格,描述)組成。 現在,我想使用和updateView(int index)方法更改“價格” textView的值。 如何在正確的項目中識別正確的textView?

假設我有5個項目(product1,...,product5)。 現在我想更新第三種產品(product3)的價格。 updateView(3)我調用了updateView(3)我的updateView(int index)方法

private void updateView(int index){
    // thats how I get the row
    View v = lvProduct.getChildAt(index); 
    // now I want to find the tvPrice in that row
    // but I'm not sure how to go about this
}

任何提示將是偉大的:D

我通常采用的方法是執行以下操作:

  • 為您的列表項創建一個模型(現在人們更喜歡使用RecyclerView)-該模型當然將具有表示您想要顯示的內容的字段/變量(例如3個字符串)。
  • 現在,要真正跟蹤用戶單擊的項目,我可以通過在適配器中調用自定義方法(如getItem(int position))來簡單地獲取該項目的ID(在數據庫中存儲該項目的表的列)實際項目。
  • 該getItem方法將為我返回帶有getId()getter方法的項目。
  • 現在注意,在創建要傳遞給自定義適配器的列表項時,列表項模型必須在其構造函數中期望一個(id)值,因為這是您將能夠訪問表中的實際值進行編輯的方式。
  • 因此,您可以使用單擊的項目的ID查詢表並對其進行更新,只需通過適配器自動更新視圖即可。

我希望這有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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