概述:我正在尝试为Android创建一个主屏幕小部件,它会进行分配并将其显示在列表中。
问题:查询数据库所需的时间比调用getCount()
的程序要长。
代码:
public class WidgetViewFactory implements RemoteViewsService.RemoteViewsFactory {
...
@Override
public void onCreate() {
Database.dueAssignmentDb.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot userSnapshot : dataSnapshot.getChildren()) {
Assignment assignment = userSnapshot.getValue(Assignment.class);
assignments.add(assignment);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
...
@Override
public int getCount() {
Log.d("Widget", "getCount: " + assignments.size());
return assignments.size();
}
...
tl; dr 期待getCount()
返回0以外的任何内容,返回0。