簡體   English   中英

列表視圖項中的“編輯”按鈕取決於其他列表視圖項

[英]Edit button in listview item depending on other listview items

首先,我想說一下,如果您能為這個問題找到一個更好的標題,請隨時進行更改,因為我不知道如何簡短地說明這一點。

所以這是我的問題:

對於該應用程序,我正在嘗試制定這些時間表,今天有一個時間表,接下來幾天有一個時間表。 這兩個都是片段內的列表視圖。

(我使用這些片段來創建用於將兩者分開的標簽。)

日程安排中的每個游戲(我們稱其為游戲,因為將其稱為活動會造成混淆)都有其狀態,這是令人討厭的地方。 我被要求檢查是否已啟動任何游戲,如果需要,我需要禁用按鈕以啟動除已在進行的游戲以外的任何其他游戲。

編輯:主要問題是我不能在listview項上使用findViewById,因為顯然它是一個空對象引用

我做了一些“繪畫”,以便為您提供更多的圖形表示。

繪畫應該是什么

所以長話短說,我需要一種方法來檢查status的每個內部listview item的內部listview的內部fragment的內部activity使用所述狀態來禁用除了正在進行的游戲的每一個按鈕。

小提示:如果尚未開始游戲,則所有按鈕均啟用。

我希望這是有道理的。

如果您想要一些與此相關的代碼,請隨時提出但要警告,我正在測試應用程序中編寫此代碼,因此包含了許多無用的測試數據和草率的代碼。

編輯:這就是我停留在一個更清晰的示例中的地方:啟用了啟動按鈕,但應該將其禁用。

滾動之前

向下滾動列表,有一個開始的“游戲”,在它的正下方,該游戲具有與上一張圖片相同的狀態,該按鈕應被禁用。

游戲開始后,它顯示應有的狀態

這是因為在經過狀態為“開始”的游戲並且禁用了以下項目之后,我的代碼中的“ isStartable”布爾值變為false。

當我向上滾動時,應該是這樣,所有項目都被禁用,但是當列表視圖被填充時,我需要它們像這樣。 有什么方法可以刷新此列表視圖中的數據並使用“ isStartable”布爾值嗎?

這是我向上滾動后的樣子。 向上滾動后

為您的listview數據項創建模型類。 在模型類(如isGameStarted)中設置布爾變量。 根據結果​​設置該變量。然后在列表視圖適配器中,放置以下條件

if(isGameStarted){
    holder.startButton.setEnable(true);
else
    holder.startButton.setEnable(false); 

暫無
暫無

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

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