2011-04-21 40 views
1

在Android開發指南中,有一個關於如何實現語音識別的例子。該示例使用數組打印結果列表。在Google語音識別中獲得第一個結果

如果我只對第一個結果感興趣該怎麼辦?

我已經實現這種方式(數據是由活動結果返回的意圖):

data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS)獲得(0)

是否有另獲得第一個結果而不獲取數組的方式?像getFirst方法的東西?

回答

2

不,api沒有指定某種getFirst方法。

如果你使用這個在不同的地方,你可以創建一個自己,這確實空校驗並返回的第一個結果:

public String getFirst(Intent data){ 
    List<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); 
    if(results != null && results.size() > 0){ 
     return results.get(0); 
    } 
    return null; //or maybe: return ""; 
} 
2

getStringArrayListExtra()返回的對象是ArrayList,它不提供getFirst()調用。你可能請致電iterator()並通過next()獲得第一個條目,但get(0)可能會更有效,因爲它是一個普通的數組訪問,而不是對象創建。