Android 在父活动的listview项目中显示“子”活动的已检查项目数
这是Android的 首先,我想举一个例子:Android 在父活动的listview项目中显示“子”活动的已检查项目数,android,listview,Android,Listview,这是Android的 首先,我想举一个例子: 我怎样才能达到这个效果呢?此listview的项显示在单击父listview项之一时打开的子listview中未选中项的数量。我应该为子活动使用静态类吗?或者第一个listview中有多少行就有多少实例?有人能给我举个例子吗?提前非常感谢 我假设你有一个叫做类似任务的模型 创建一个名为ProgressCounter的抽象类。 设置两个静态值: public static int totalNumberOfTasks; public static
我怎样才能达到这个效果呢?此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文本绑定到此方法的返回值。虽然我不能完全确定效率,但它似乎有效。只需制定一种计算项目总数/检查数量的方法,并将结果保存为两个静态值。您能详细说明一下吗?方法应该在哪里(哪个类,父类还是子类)?它应该是无效的还是应该返回任何内容?在父类中,静态值应该存储在哪里?谢谢。嗯,看起来很有希望:)。我明天会试一试,当然,如果你的回答能解决我的问题,我会批准你的回答。不管怎样,谢谢你。