使用这里的Android项目,RestaurantListActivity
显示了Backendless中Restaurants
从Restaurant
表中检索到的列表,到目前为止没有问题。
问题:
这两天我一直在尝试在代码中的其他地方检索餐馆列表,或者使用该totalRestaurants
列表。
我试过了:
1-此代码导致 NullPointerException:
Backendless.Data.of( Restaurant.class ).findFirst();
2- 在 Github 中使用相同的代码:我可以访问totalRestaurants
括号内的列表,但是在这段代码之后它显示totalRestaurants
列表是空的。
Backendless.Data.of( Restaurant.class ).find( query, new LoadingCallback<BackendlessCollection<Restaurant>>( this, getString( R.string.loading_restaurants ), true )
{
@Override
public void handleResponse( BackendlessCollection<Restaurant> restaurantsBackendlessCollection )
{
restaurants = restaurantsBackendlessCollection;
addMoreItems( restaurantsBackendlessCollection );
super.handleResponse( restaurantsBackendlessCollection );
}
} );
3- 在 Backendless 站点中使用自动加载方法并稍作修改:同样的事情再次发生。在回调中,我可以打印Restaurant
' 对象的名称并将每个对象添加到copylist
,但代码末尾copylist
是空的!
LoadingCallback<BackendlessCollection<Restaurant>> callback=new LoadingCallback<BackendlessCollection<Restaurant>>(this, getString( R.string.loading_restaurants ), true)
{
@Override
public void handleResponse( BackendlessCollection<Restaurant> restaurants )
{
System.out.println( "Loaded " + restaurants.getCurrentPage().size() + " restaurant objects" );
System.out.println( "Total restaurants in the Backendless storage - " + restaurants.getTotalObjects() );
Iterator<Restaurant> iterator=restaurants.getCurrentPage().iterator();
while( iterator.hasNext() )
{
Restaurant restaurant=iterator.next();
copylist.add(restaurant);
System.out.println( "\nRestaurant name = " + restaurant.getName() );
}
}
};
Backendless.Data.of( Restaurant.class ).find( callback );
非常感谢您的帮助!