2014-02-10 48 views
1

這是mycode的:檢查LatLngBounds.Builder如果空

LatLngBounds.Builder builder = new LatLngBounds.Builder(); 
for(int x = firstVisibleItem; x < lastVisibleItem; x++){ 
    builder.include(temp.getPosition()); 
} 

然而此行引發錯誤(java.lang.IllegalStateException: no included points

double north = builder.build().northeast.latitude; 

這是因爲上面的循環沒有運行在所有所以沒有點被列入builder

我如何檢查製造商至少有一個點?

我試過builder.build()!=null,它引發了上述錯誤,並且builder!=null總是爲真。

try{}catch(IllegalStateException e){ }的作品。問一個!=null的方式是不是很愚蠢?美高科技管理?謝謝

回答

6

您可以創建一個計數器並使用它來驗證您是否至少有一個點。

int counter = 0; 
LatLngBounds.Builder builder = new LatLngBounds.Builder(); 
for(int x = firstVisibleItem; x < lastVisibleItem; x++){ 
    conter++; 
    builder.include(temp.getPosition()); 
} 
if (counter > 0) 
{ 
    //build the LatLngBounds object 
} 
+0

好點,謝謝。事件更簡單:'if(firstVisibleItem Diolor

+0

很高興能有所幫助......是的,你是對的......這也可以做到。 –