Android 在父活动的listview项目中显示“子”活动的已检查项目数

Android 在父活动的listview项目中显示“子”活动的已检查项目数,android,listview,Android,Listview,这是Android的 首先,我想举一个例子: 我怎样才能达到这个效果呢?此listview的项显示在单击父listview项之一时打开的子listview中未选中项的数量。我应该为子活动使用静态类吗?或者第一个listview中有多少行就有多少实例?有人能给我举个例子吗?提前非常感谢 我假设你有一个叫做类似任务的模型 创建一个名为ProgressCounter的抽象类。 设置两个静态值: public static int totalNumberOfTasks; public static

这是Android的

首先,我想举一个例子:


我怎样才能达到这个效果呢?此listview的项显示在单击父listview项之一时打开的子listview中未选中项的数量。我应该为子活动使用静态类吗?或者第一个listview中有多少行就有多少实例?有人能给我举个例子吗?提前非常感谢

我假设你有一个叫做类似任务的模型

创建一个名为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;
 }
publicstaticvoidcountprogress(arraylistalltasks){
ProgressCounter.totalNumberOfTasks=allTask.size();
int taskProgress=0;
for(任务:所有任务){
if(task.isCompleted());
taskProgress++;
}
ProgressCounter.taskProgress=任务进度;
}

我希望这能为您指明正确的方向:)

Slickelito,谢谢您的回答,我学到了一些关于抽象类的知识,但最后我找到了自己的解决方案:

我制作了自己的游标适配器,该方法-

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;
}
public int getChildCount(长lvPhase){
串相=长串(LV相);
字符串[]投影={FlightBundleDatabase.ID};
String[]selectionArgs={Long.toString(mAircraft),phase};
整数计数=0;
游标装入器游标装入器=新游标装入器(mContext,FlightBundleProvider.CONTENT\u URI\u检查表,投影,“飞机id=?和阶段=?”,SelectionAgs,null);
Cursor Cursor=cursorLoader.loadInBackground();
int cCount=cursor.getCount();
if(cursor.moveToFirst()){
对于(int i=0;i

然后我将计数器TextView文本绑定到此方法的返回值。虽然我不能完全确定效率,但它似乎有效。

只需制定一种计算项目总数/检查数量的方法,并将结果保存为两个静态值。您能详细说明一下吗?方法应该在哪里(哪个类,父类还是子类)?它应该是无效的还是应该返回任何内容?在父类中,静态值应该存储在哪里?谢谢。嗯,看起来很有希望:)。我明天会试一试,当然,如果你的回答能解决我的问题,我会批准你的回答。不管怎样,谢谢你。