2012-07-23 46 views
0

這是適用於Android的。在父母活動的列表視圖項目中顯示(「孩子」活動的)已檢查項目的數量

首先,什麼我想到一個例子:

Camping trip planner example

我怎麼能達到這個效果?此列表視圖的項目顯示當您單擊其中一個父列表視圖項目時打開的子列表視圖中未選中項目的數量。我應該爲兒童活動使用靜態類嗎?或者第一個列表視圖中有多少行?有人能給我一個例子嗎?提前感謝你!

+0

只需制定計算項目總數/檢查項數並將結果保存爲兩個靜態值的方法即可。 – Slickelito 2012-07-23 14:26:06

+0

你能否詳細說明一下?該方法應該在哪裏(哪個班級,家長還是孩子)?它應該是無效的還是應該返回任何東西?在哪裏應該將靜態值存儲在父類中?謝謝。 – Gigen 2012-07-24 09:20:06

回答

0

Slickelito,謝謝爲了您的回答,我學到了一些關於抽象類的東西,但最終我遇到了我自己的解決方案:

我做了我自己的光標適配器,並且t他的方法 -

public int getChildCount(long lvPhase) { 
    String phase = Long.toString(lvPhase); 
    String[] projection = { FlightBundleDatabase.ID }; 
    String[] selectionArgs = { Long.toString(mAircraft), phase }; 
    int count = 0; 

    CursorLoader cursorLoader = new CursorLoader(mContext, FlightBundleProvider.CONTENT_URI_CHECKLISTS, projection, "aircraft_id = ? AND phase = ?", selectionArgs, null); 
    Cursor cursor = cursorLoader.loadInBackground(); 
    int cCount = cursor.getCount(); 
    if (cursor.moveToFirst()) { 
     for (int i = 0; i < cCount; i++) { 
      long currentItem = cursor.getLong(cursor.getColumnIndexOrThrow(FlightBundleDatabase.ID)); 
      if (mSettingsActivity.contains(phase + currentItem)) { 
       count++; 
       } 
      cursor.moveToNext(); 
     } 
    } 
    cursor.close(); 
    return count; 
} 

然後我將計數器TextView文本綁定到此方法的返回值。它似乎工作,雖然我不完全確定效率。

0

我假設你有一個叫做Tasks的模型。

創建一個類似ProgressCounter的抽象類。 設置兩個靜態值:

public static int totalNumberOfTasks; 
public static int taskProgress; 

然後你做一個靜態方法,並遍歷它:

public static void countProgress(ArrayList<Tasks> allTasks){ 
ProgressCounter.totalNumberOfTasks = allTask.size(); 
int taskProgress = 0; 
    for(Task task : allTasks){ 
    if(task.isCompleted()); 
    taskProgress++; 
} 
ProgressCounter.taskProgress = taskProgress; 
} 

我希望這可以爲您指出正確的方向:)

+0

嗯,看起來很有前途:)。我明天會給它一個鏡頭,當然如果它解決了我的問題,也會批准你的答案。無論哪種方式,非常感謝。 – Gigen 2012-07-24 20:24:20

相關問題